[英]Combine multiple functions into one in python
我做了 3 个函数来从.csv
文件导入数据,然后取一个特定的列,然后对列中的数据求和。 我想将每个函数中的所有三个dataFrame
导出到一个.xlsx
文件中。 如果我一个一个运行这些函数,它们会重叠,并且只有最后一个函数会导出到.xlsx
文件。 如何同时导出所有三个函数,以便.xlsx
文件具有所有三个导出? PS 这是我学习 Python 的第二周,这可能是一个非常业余的问题。 谢谢。
import pandas as pd
def file1(file_name_one):
importing = pd.read_csv(file_name_one)
df1 = pd.DataFrame(data={'Net Sales':[importing['Net Sales'].sum()]})
df1.to_excel('excelfile.xlsx',
index=False,
header=False,
startrow=5,
startcol=3,
)
def file2(file_name_two):
importing2 = pd.read_csv(file_name_two)
df2 = pd.DataFrame(data={'Net Sales':[importing2['Net Sales'].sum()]})
df2.to_excel('excelfile.xlsx',
index=False,
header=False,
startrow=6,
startcol=3,
)
def file3(file_name_three):
importing3 = pd.read_csv(file_name_three)
df3 = pd.DataFrame(data={'Amount':[importing3['Amount'].sum()]})
df3.to_excel('excelfile.xlsx',
index=False,
header=False,
startrow=7,
startcol=3,
)
print(file1(r"example1.csv"))
print(file2(r"example2.csv"))
print(file3(r"example3.csv"))
#this will result only in the export of file3(),
#the other 2 functions get "overlapped", how do I also export the other two functions?
根据我的理解,您希望将 3 个数据框存储在同一个 excel 文件中。
您的代码的问题是您在同一张表中覆盖了数据。 相反,您可以像这样将每个数据帧保存在其赢得的工作表中:
df1.to_excel('excelfile.xlsx', sheet_name='df1' ...
df1.to_excel('excelfile.xlsx', sheet_name='df1' ...
df3.to_excel('excelfile.xlsx', sheet_name='df3' ...
所以理论上:
def handle_files(file_net1, file_net2, file_amount):
net1 = pd.read_csv(file_net1)
net2 = pd.read_csv(file_net2)
amount = pd.read_csv(file_amount)
df1 = pd.DataFrame(data={'Net Sales':[net1['Net Sales'].sum()]})
df2 = pd.DataFrame(data={'Net Sales':[net2['Net Sales'].sum()]})
df3 = pd.DataFrame(data={'Amount':[amount['Amount'].sum()]})
df1.to_excel('excelfile.xlsx',
sheet=NetResult1
index=False,
header=False,
startrow=7,
startcol=3,
)
df2.to_excel('excelfile.xlsx',
sheet=NetResult2
index=False,
header=False,
startrow=7,
startcol=3,
)
df3.to_excel('excelfile.xlsx',
sheet=Amount
index=False,
header=False,
startrow=7,
startcol=3,
)
应该做对吗?
哦,电话应该是:
handle_files(example1.csv, example2.csv, example3.csv)
顺便说一句:我在这里也包括了@Gangula 的答案,以及不同的表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.