![](/img/trans.png)
[英]Python: How to copy Excel worksheet from multiple Excel files to one Excel file that contains all the worksheets from other Excel files
[英]Put all info into one worksheet(excel, python)
# Conbine all the accounts in one sheet
writer = pd.ExcelWriter('toupi-all.xlsx')
for y in duplicate:
print(y)
filterYTD=YTD[(YTD["LOGIN"]==y)]
combine=filterYTD.groupby(["LOGIN"]["EQUITY_CHANGE","TRUE_PROFIT","SWAP","total_cost","cost_to_loss","WITHDRAW",'DEPOSIT',"EMAIL"].sum().sort_values(["EQUITY_CHANGE"],ascending=False).round(2)
combine=combine.merge(intra,on='LOGIN',how='left')
combine=combine.merge(tags,on="LOGIN",how='left')
combine.to_excel(writer)
writer.save()
os.startfile('toupi-all.xlsx')
逻辑不对; excel中只会出现最后一个账号; 一个帐户是一排。 如何在一个工作表中包含所有行? 我只是不知道如何用谷歌搜索这个问题; 伤心
pandas to_excel
需要一个参数startrow
- 如果您想要同一张表上的所有数据,您需要将其包含在循环中,以防止每次迭代覆盖前一次迭代的数据。 您还可以使用header
参数来防止在每次迭代中将列添加到工作表中。
像这样的东西:
writer = pd.ExcelWriter('toupi-all.xlsx')
startrow = 0
for y in duplicate:
print(y)
filterYTD=YTD[(YTD["LOGIN"]==y)]
combine=filterYTD.groupby(["LOGIN"]["EQUITY_CHANGE","TRUE_PROFIT","SWAP","total_cost","cost_to_loss","WITHDRAW",'DEPOSIT',"EMAIL"].sum().sort_values(["EQUITY_CHANGE"],ascending=False).round(2)
combine=combine.merge(intra,on='LOGIN',how='left')
combine=combine.merge(tags,on="LOGIN",how='left')
combine.to_excel(writer, startrow=startrow, header=not bool(startrow))
startrow += len(combine)
writer.save()
os.startfile('toupi-all.xlsx')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.