Python: TypeError: Value must be a sequence
Python: TypeError: Value must be a sequence
我的代码:
def write_excel(filename, sheetname, dataframe):
with pd.ExcelWriter(filename, engine='openpyxl', mode='a') as writer:
workBook = writer.book
try:
workBook.remove(workBook[sheetname])
except:
print("Worksheet does not exist")
finally:
dataframe.to_excel(writer, sheet_name=sheetname, index=False)
writer.save()
write_excel(r"C:\Users\Harshad\Documents\Project\Files\Backtest.xlsx", '888', df_normalized)
错误发生在:
write_excel(r"C:\Users\Harshad\Documents\Project\Files\Backtest.xlsx", '888', df_normalized)
我遇到的错误是:
Traceback (most recent call last):
File "C:/Users/Harshad/Documents/Project/Code/Step-4-Normalizing 888Sport Odds.py", line 66, in <module>
write_excel(r"C:\Users\Harshad\Documents\Project\Files\Backtest.xlsx", '888', df_normalized)
File "C:/Users/Harshad/Documents/Project/Code/Step-4-Normalizing 888Sport Odds.py", line 55, in write_excel
with pd.ExcelWriter(filename, engine='openpyxl', mode='a') as writer:
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\pandas\io\excel\_openpyxl.py", line 25, in __init__
book = load_workbook(self.path)
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\reader\excel.py", line 315, in load_workbook
reader.read()
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\reader\excel.py", line 280, in read
self.read_worksheets()
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\reader\excel.py", line 266, in read_worksheets
pivot = TableDefinition.from_tree(tree)
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\descriptors\serialisable.py", line 83, in from_tree
obj = desc.from_tree(el)
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\descriptors\sequence.py", line 85, in from_tree
return [self.expected_type.from_tree(el) for el in node]
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\descriptors\sequence.py", line 85, in <listcomp>
return [self.expected_type.from_tree(el) for el in node]
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\descriptors\serialisable.py", line 103, in from_tree
return cls(**attrib)
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\pivot\table.py", line 601, in __init__
self.x = x
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\descriptors\sequence.py", line 25, in __set__
raise TypeError("Value must be a sequence")
TypeError: Value must be a sequence
这段代码一直有效到昨天。我该如何解决?
谢谢
不知道是否有帮助,但引擎参数已弃用。不过,这个其他答案看起来很有希望:
解决方案:
文档:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.ExcelWriter.html
问题出在 openpyxl 上。我 运行 的版本是 3.0.5。
它适用于 3.0.4,但不适用于更高版本。不过我没有机会测试 3.0.6 版本。
降级到 3.0.4 有帮助并且有效。
我的代码:
def write_excel(filename, sheetname, dataframe):
with pd.ExcelWriter(filename, engine='openpyxl', mode='a') as writer:
workBook = writer.book
try:
workBook.remove(workBook[sheetname])
except:
print("Worksheet does not exist")
finally:
dataframe.to_excel(writer, sheet_name=sheetname, index=False)
writer.save()
write_excel(r"C:\Users\Harshad\Documents\Project\Files\Backtest.xlsx", '888', df_normalized)
错误发生在:
write_excel(r"C:\Users\Harshad\Documents\Project\Files\Backtest.xlsx", '888', df_normalized)
我遇到的错误是:
Traceback (most recent call last):
File "C:/Users/Harshad/Documents/Project/Code/Step-4-Normalizing 888Sport Odds.py", line 66, in <module>
write_excel(r"C:\Users\Harshad\Documents\Project\Files\Backtest.xlsx", '888', df_normalized)
File "C:/Users/Harshad/Documents/Project/Code/Step-4-Normalizing 888Sport Odds.py", line 55, in write_excel
with pd.ExcelWriter(filename, engine='openpyxl', mode='a') as writer:
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\pandas\io\excel\_openpyxl.py", line 25, in __init__
book = load_workbook(self.path)
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\reader\excel.py", line 315, in load_workbook
reader.read()
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\reader\excel.py", line 280, in read
self.read_worksheets()
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\reader\excel.py", line 266, in read_worksheets
pivot = TableDefinition.from_tree(tree)
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\descriptors\serialisable.py", line 83, in from_tree
obj = desc.from_tree(el)
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\descriptors\sequence.py", line 85, in from_tree
return [self.expected_type.from_tree(el) for el in node]
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\descriptors\sequence.py", line 85, in <listcomp>
return [self.expected_type.from_tree(el) for el in node]
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\descriptors\serialisable.py", line 103, in from_tree
return cls(**attrib)
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\pivot\table.py", line 601, in __init__
self.x = x
File "C:\Users\Harshad\PycharmProjects\Self Project\venv\lib\site-packages\openpyxl\descriptors\sequence.py", line 25, in __set__
raise TypeError("Value must be a sequence")
TypeError: Value must be a sequence
这段代码一直有效到昨天。我该如何解决? 谢谢
不知道是否有帮助,但引擎参数已弃用。不过,这个其他答案看起来很有希望:
解决方案:
文档: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.ExcelWriter.html
问题出在 openpyxl 上。我 运行 的版本是 3.0.5。 它适用于 3.0.4,但不适用于更高版本。不过我没有机会测试 3.0.6 版本。 降级到 3.0.4 有帮助并且有效。