xlrd.biffh.XLRDError: एक्सेल xlsx फ़ाइल; समर्थित नहीं [डुप्लिकेट]
मैं pandas.read_excel
xlrd लाइब्रेरी के साथ मैक्रो-सक्षम एक्सेल वर्कशीट पढ़ने की कोशिश कर रहा हूं । यह स्थानीय में ठीक चल रहा है, लेकिन जब मैं पीसीएफ में समान धक्का देने की कोशिश करता हूं, तो मुझे यह त्रुटि मिल रही है:
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] df1=pd.read_excel(os.path.join(APP_PATH, os.path.join("Data", "aug_latest.xlsm")),sheet_name=None)
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] return open_workbook(filepath_or_buffer)
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] File "/home/vcap/deps/0/python/lib/python3.8/site-packages/xlrd/__init__.py", line 170, in open_workbook
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] xlrd.biffh.XLRDError: Excel xlsx file; not supported
मैं इस त्रुटि को कैसे हल कर सकता हूं?
जवाब
जैसा कि विमोचन ईमेल में जारी किया गया है , विमोचन ट्वीट से जुड़ा हुआ है और बड़े नारंगी चेतावनी में उल्लेख किया गया है जो प्रलेखन के पहले पृष्ठ पर दिखाई देता है , और कम नारंगी, लेकिन अभी भी मौजूद है, रिपॉजिटरी और पिपी पर रिलीज में रीडमी में :
xlrd ने xls फ़ाइलों के अलावा किसी अन्य चीज़ के लिए स्पष्ट रूप से समर्थन हटा दिया है।
आपके मामले में, समाधान यह है:
- सुनिश्चित करें कि आप पंडों के हालिया संस्करण पर हैं, कम से कम 1.0.1, और अधिमानतः नवीनतम रिलीज़। 1.2 उसके भी स्पष्ट कर देगा।
- स्थापित करें
openpyxl
:https://openpyxl.readthedocs.io/en/stable/ - अपने पंडों के कोड को बदल दें:
df1 = pd.read_excel( os.path.join(APP_PATH, "Data", "aug_latest.xlsm"), engine='openpyxl', )
पिछला संस्करण, xlrd 1.2.0, काम करने के लिए प्रकट हो सकता है, लेकिन यह आपको संभावित सुरक्षा कमजोरियों के लिए भी उजागर कर सकता है। उस चेतावनी के साथ, यदि आप अभी भी इसे देना चाहते हैं, तो निम्न कमांड टाइप करें:
pip install xlrd==1.2.0