[英]Columns parameter doesn't work when exporting excel file (pandas)
url = 'https://data.cityofnewyork.us/api/views/25th-nujf/rows.csv'
baby_names = pd.read_csv(url)
girls = baby_names[baby_names['Gender'] == 'FEMALE']
boys = baby_names[baby_names['Gender'] == 'MALE']
excel_file = pd.ExcelWriter('Baby_Names.xlsx')
girls.to_excel(excel_file, sheet_name='Girls', index=False)
boys.to_excel(excel_file, sheet_name='Boys', index=False, columns=['Year of Birth', 'Gender', 'Ethnicity'])
excel_file.save()
第一张表包含并且应该包含所有原始列,而第二张表只包含我提到的那些。 但是,最后一个仍然包含所有原始列,仍然显示另外三个列,就好像我从未输入columns=
参数一样。
更新:这种格式也不起作用:
with pd.ExcelWriter('Baby_Names.xlsx') as excel_file:
girls.to_excel(excel_file, sheet_name='Girls', index=False)
boys.to_excel(excel_file, sheet_name='Boys', index=False, columns=['Year of Birth', 'Gender', 'Ethnicity'])
excel_file.save()
Pandas 文档提供了使用 ExcelWriter 编写多个工作表的示例,如下所示:
with pd.ExcelWriter('output.xlsx') as writer:
df1.to_excel(writer, sheet_name='Sheet_name_1')
df2.to_excel(writer, sheet_name='Sheet_name_2')
也许尝试使用这个单一的文件上下文来写两张纸?
excel_file = pd.ExcelWriter('Baby_Names.xlsx')
with excel_file as writer:
girls.to_excel(excel_file, sheet_name='Girls', index=False)
boys.to_excel(excel_file, sheet_name='Boys', index=False, columns=['Year of Birth', 'Gender', 'Ethnicity'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.