簡體   English   中英

使用 openpyxl 讀取.xlsx 文件時出錯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM