我是Python编程的新手,我正在尝试思考如何从一个数据框创建多个excel。我有一个Pandas数据框,如下所示,
| 发票编号|凭证ID|索赔|
| - ------|- ------|- ------|
| 日本MHI00000038710|小行星100039|是的|
| 日本MHI00000038715|小行星100039|没有|
| 日本MHI00000038711|小行星100043|是的|
| 日本MHI00000038712|小行星100043|没有|
对于每个凭证ID,我试图从数据框中为每个发票编号创建excel,其中Claimed = Yes。但是每个excel应包含相同凭证ID的所有行,而不管Claimed是Yes/No。对于上例,输出将是2个excel,以每个发票编号命名,其中Claimed = Yes(即MHI000000038710和MHI000000038711)。
每个Excel应包含按凭证ID分组的行
电子表格1(MHI00000038710.xlsx):-
| 发票编号|凭证ID|索赔|
| - ------|- ------|- ------|
| 日本MHI00000038710|小行星100039|是的|
| 日本MHI00000038715|小行星100039|没有|
电子表格2(MHI00000038711.xlsx):-
| 发票编号|凭证ID|索赔|
| - ------|- ------|- ------|
| 日本MHI00000038711|小行星100043|是的|
| 日本MHI00000038712|小行星100043|没有|
我的脚本,目前正在创建excel的所有发票。我无法弄清楚如何不创建发票索赔=否,但仍然有发票中的所有行创建索赔=是
for myid in df['Voucher ID'].unique():
df_singleID = df[df['Voucher ID']==myid]
for myinvoice in df_singleID['Invoice No'].unique():
df_singleID.to_excel(output+"\\"+str(myinvoice)+'.xlsx',index = False)
2条答案
按热度按时间3htmauhk1#
使用
pandas.DataFrame.groupby
怎么样?iecba09b2#
使用.query()和列表组件时不会出现索引错误: