我正在try 使用python库xlsxWriter在Excel中添加数据表
我的名为whole
的数据帧有26列(与字母表中的字母完全相同),因此我try 使用以下代码设置它们:
workbook = xlsxwriter.Workbook(f'workbook.xlsx', {"nan_inf_to_errors": True})
worksheet = workbook.add_worksheet("Column Setter")
worksheet.add_table(f"A1:{chr(ord('@')+len(whole.columns))}{len(whole)}", {'data':
whole.values.tolist(),
'banded_columns': True, 'banded_rows': False, 'header_row': True,
'columns': [{'header': col} for col in whole.columns.tolist()]})
worksheet.autofit()
然而,输出似乎将所有列名都设置为Column1,依此类推.
这段代码似乎非常适合另一个有3列的数据帧,所以我很难理解为什么它不能工作.任何答案都会非常有帮助.
编辑
我已经更改了代码以匹配jmcnamara cpde.它看起来是这样的:
workbook = xlsxwriter.Workbook(f'workbook.xlsx', {"nan_inf_to_errors": True})
worksheet = workbook.add_worksheet("Column Setter")
(max_row, max_col) = whole.shape
worksheet.add_table(0, 0, max_row, max_col - 1,
{
'data': whole.values,
'banded_columns': True,
'banded_rows': False,
'header_row': True,
}
)
worksheet.autofit()
然而,这似乎根本没有写入数据,只是显示了26列中的7列.它似乎也根本没有创建一个表.请看下面.