我创建了一个相当简单的实用程序函数,只需使用openpyxl中较新的dataframe_to_rows选项将数据框放入excel工作表中:
insertRows = dataframe_to_rows(df)
worksheet = workbook.create_sheet(title=sheetName)
for r_idx, row in enumerate(insertRows, 1):
for c_idx, cell_value in enumerate(row, 1):
worksheet.cell(row=r_idx, column=c_idx, value=value)
当我打开工作簿时,我收到了excel不可读的内容错误,这通常与格式化有关。经过一些谷歌搜索,我发现答案没有张贴在任何地方。所以在下面发布我的修补程序
答案 0 :(得分:0)
问题最终与数据框中numpy NAN值的格式有关,而这些值无法正常转换。
一个简单的解决方法是将插入代码更改为以下内容:
try:
if numpy.isnan(cell_value):
cell_value = "NAN"
elif numpy.isinf(cell_value):
cell_value = "INF"
else:
cell_value = float(cell_value)
except:
pass
worksheet.cell(row=r_idx, column=c_idx, value=cell_value)