[英]Excel file in openpyxl cannot be opened
另一個系統將 Excel 文件保存到特定文件夾。 我可以很好地手動打開該文件,並且單元格不會顯示任何奇怪的東西。
我如何打開文件:
Tabelle_data = openpyxl.load_workbook(file, read_only=True)
data = Tabelle_data["DATA"]
我想遍歷所有行:
Zeilen_data = 0
while 1:
if data.cell(row=Zeilen_data+1, column=1).value != None:
Zeilen_data += 1
else:
break
(本可以做得更短,我知道)無論如何,已經在第 1 列,單元格 2 中,它只包含一個 0,發生此錯誤:
Traceback (most recent call last):
File "/Volumes/paul/Armin/SBP/data.py", line 57, in <module>
if data.cell(row=Zeilen_data+1, column=1).value != None:
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openpyxl/worksheet/worksheet.py", line 240, in cell
cell = self._get_cell(row, column)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openpyxl/worksheet/_read_only.py", line 128, in _get_cell
for row in self._cells_by_row(column, row, column, row):
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openpyxl/worksheet/_read_only.py", line 79, in _cells_by_row
for idx, row in parser.parse():
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openpyxl/worksheet/_reader.py", line 155, in parse
row = self.parse_row(element)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openpyxl/worksheet/_reader.py", line 286, in parse_row
cells = [self.parse_cell(el) for el in row]
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openpyxl/worksheet/_reader.py", line 286, in <listcomp>
cells = [self.parse_cell(el) for el in row]
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openpyxl/worksheet/_reader.py", line 202, in parse_cell
value = _cast_number(value)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openpyxl/worksheet/_reader.py", line 81, in _cast_number
return float(value)
ValueError: could not convert string to float: '.'
我已經沒有如何解決它的想法了。 將行更改為if str(data.cell(row=Zeilen_data+1, column=1).value):= str("None"):
不能修復它。
我發現的唯一方法是手動打開文件並再次保存。 然后一切正常,但我不喜歡每次都手動打開並保存它。
我設法修復它。 因此,系統現在保存文件 als.xls 並在我的程序中包含:
import pyexcel
xlsxfile = file.replace(".xlsx",".xlsx")
pyexcel.save_book_as(file_name=file, dest_file_name=xlsxfile)
os.remove(file)
然后我可以使用 .xlsx 文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.