2013-02-07 11 views
6

मेरे पास वास्तव में बड़ा डेटाबेस है जिसे मैं xlsx/xls फ़ाइल पर लिखना चाहता हूं। मैंने पहले से ही xlwt का उपयोग करने का प्रयास किया है, लेकिन यह केवल 65536 पंक्तियां लिखने की अनुमति देता है (मेरी कुछ तालिकाओं में 72k से अधिक पंक्तियां हैं)। मुझे openpyxl भी मिला, लेकिन यह बहुत धीमी गति से काम करता है, और बड़े स्प्रेडशीट्स के लिए बड़ी मात्रा में स्मृति का उपयोग करता है। एक्सेल फाइलें लिखने के लिए कोई अन्य संभावनाएं हैं?xls फ़ाइल में डेटा का बड़ा सेट कैसे लिखें?

संपादित करें: केनिम की सलाह के बाद मैंने अनुकूलित पाठक और लेखक का उपयोग किया। अब कम उपभोग है, लेकिन अभी भी समय लेने वाला है। निर्यात अब घंटे से अधिक समय लेता है (वास्तव में बड़ी टेबल के लिए- 10^6 पंक्तियों तक)। क्या कोई अन्य संभावनाएं हैं? हो सकता है कि एचडीएफ 5 डेटाबेस फ़ाइल एक्सेल से पंक्ति के बाद के बाद पूरी तालिका को निर्यात करना संभव है - जैसे अब यह मेरे कोड में है?

+2

आप सीधे एक .tsv/.csv पर लिखने का प्रयास कर सकते हैं और फिर Excel में खोल सकते हैं? – uptownnickbrown

+1

65536 एक्सेल के भीतर एक सीमा होने के लिए उपयोग किया जाता है - हालांकि यह अभी भी मामला था। आप एक टैब सीमांकित फ़ाइल बना सकते हैं और देख सकते हैं कि आपका एक्सेल इसे लोड करेगा या नहीं। – sotapme

+0

मैं सोच रहा हूं कि समस्या के लिए बेहतर उपखंड नहीं होगा। कहें, डेटाबेस संरचना का पालन करने वाली कई एक्सेल फ़ाइलें। मुझे यकीन नहीं है कि वैसे भी ऐसी बड़ी एक्सएलएस फाइलें वांछनीय होंगी। –

उत्तर

2

openpyxl पैकेज के Optimized Reader and Writer का उपयोग करें। अनुकूलित पाठक और लेखक मानक तेजी से चलते हैं और मानक openpyxl विधियों की तुलना में बहुत कम स्मृति का उपयोग करते हैं।

+0

धन्यवाद, यह इस तेजी से और कम स्मृति उपभोग करता है। –

3

कॉन्स्टेंट मेमोरी मोड में XlsxWriter का प्रयास करें और उपयोग करें।

    केवल लेखन Excel 2007 xlsx/xlsm फ़ाइलों
  • यह Openpyxl
  • लगातार स्मृति मोड प्रदान की तुलना में बहुत तेजी से काम करता है के लिए
  • । : http://xlsxwriter.readthedocs.org/working_with_memory.html

लिए .xls फ़ाइलें मुझे डर है कि वहाँ कोई स्मृति अनुकूलित तरीका है। क्या आपको कोई मिला?

+0

ओपनपीएक्सएल के साथ भारी डेटा फ़ाइलों को संभालने पर मेमोरी ओवरफ्लो समस्याएं थीं। निरंतर_मेमरी के साथ XlsxWriter का उपयोग समस्या हल हो गया। – G4mo

1

XlsxWriter मेरे लिए काम करता है। मैं openpyxl कोशिश करता हूं लेकिन यह त्रुटि। 22k * 400 आर * सी

संबंधित मुद्दे