写入excel个文件,Python中的.xlsx格式

Writing excel files, the .xlsx format in Python

我从一个大数据框开始,经过一些数据挖掘工作后,我需要将它缩减为一个包含 2 张纸的文件,然后写入该文件... 这个问题指的是写作部分,更确切地说,如果我使用:

#write the files:

# first file:
# Specify a writer
writer = pd.ExcelWriter('example1.xlsx', engine='xlsxwriter')

# Write your DataFrame to a file     
df11.to_excel(writer, 'Sheet1')
df12.to_excel(writer, 'Sheet2')
# Save the result 
writer.save()

我为所有列分配了相同的维度,即使它们是由数字或文本组成的。出于某种原因,我得到了另一列,其中包含前一个文件中的行号,尽管事实上如果我在 Rodeo 中可视化文件看起来还不错...

写入前的文件:

写入后的文件:

欢迎任何想法。

pandas 不会为您设置列宽(或样式)。但是,它确实提供了通过访问 xlsxwriter 自行应用这些方法的方法。要设置列的宽度,您可以执行以下操作:

代码:

# make wide column wide
workbook = writer.book
worksheet = workbook.worksheets()[1]
worksheet.set_column('B:B', 24)

测试代码:

# Specify a writer
writer = pd.ExcelWriter('example1.xlsx', engine='xlsxwriter')

df1 = pd.DataFrame([1], columns=['A'])
df2 = pd.DataFrame(['My data'], columns=['This is a very wide column'])

# Write your DataFrame to a file
df1.to_excel(writer, 'Sheet1')
df2.to_excel(writer, 'Sheet2')

# make wide column wide
workbook = writer.book
worksheet = workbook.worksheets()[1]
worksheet.set_column('B:B', 24)

# Save the result
writer.save()

结果: