繁体   English   中英

导出 excel 文件 (pandas) 时,Columns 参数不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM