[英]Error while reading .xlsx file with openpyxl
使用 openpyxl 很難讀取.xlsx 文件。 很抱歉在陳述我最初的問題時不是很明確。 以下是代碼:
`import openpyxl
from openpyxl import load_workbook
workbook = openpyxl.load_workbook(filename='file_name.xlsx')`
以下是回溯:
`3 from openpyxl import load_workbook
4 workbook = openpyxl.load_workbook \
----> 5 (filename='file_name.xlsx')
~/anaconda3/lib/python3.7/site-packages/openpyxl/reader/excel.py in load_workbook(filename, read_only, keep_vba, data_only, keep_links)
315 reader = ExcelReader(filename, read_only, keep_vba,
316 data_only, keep_links)
--> 317 reader.read()
318 return reader.wb
~/anaconda3/lib/python3.7/site-packages/openpyxl/reader/excel.py in read(self)
277 self.read_theme()
278 apply_stylesheet(self.archive, self.wb)
--> 279 self.read_worksheets()
280 self.parser.assign_names()
281 if not self.read_only:
~/anaconda3/lib/python3.7/site-packages/openpyxl/reader/excel.py in read_worksheets(self)
225 ws._rels = rels
226 ws_parser = WorksheetReader(ws, fh, self.shared_strings, self.data_only)
--> 227 ws_parser.bind_all()
228
229 # assign any comments to cells
~/anaconda3/lib/python3.7/site-packages/openpyxl/worksheet/_reader.py in bind_all(self)
406
407 def bind_all(self):
--> 408 self.bind_cells()
409 self.bind_merged_cells()
410 self.bind_hyperlinks()
~/anaconda3/lib/python3.7/site-packages/openpyxl/worksheet/_reader.py in bind_cells(self)
331 for idx, row in self.parser.parse():
332 for cell in row:
--> 333 style = self.ws.parent._cell_styles[cell['style_id']]
334 c = Cell(self.ws, row=cell['row'], column=cell['column'], style_array=style)
335 c._value = cell['value']
TypeError: list indices must be integers or slices, not str`
我認為問題在於cell['style_id']
將返回一個字符串,而_cell_styles[]
期望 integer 用於索引。
您是否嘗試過查看cell['style_id']
中的內容,如果需要,轉換為 integer?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.