在 excel sheet 中写入多个数据帧,一个在 python 中
Writing multiple Data frame in same excel sheet one below other in python
转载代码:
import numpy as np
import pandas as pd
# Create a Dataframe
df1 = pd.DataFrame(np.random.rand(8).reshape(4,2),columns=['X','Y']);print(df1.shape)
df2 = pd.DataFrame(np.random.rand(6).reshape(3,2),columns=['X','Y']);print(df2.shape)
df3 = pd.DataFrame(np.random.rand(10).reshape(5,2),columns=['X','Y']);print(df3.shape)
以上三个列相同但行不同的数据框,需要写在相同的excel sheet下面。预期输出如下所示。
注意:数据帧数量可能不同
你可以试试这个:
dfs = [df1, df2, df3]
startrow = 0
with pd.ExcelWriter('output.xlsx') as writer:
for df in dfs:
df.to_excel(writer, engine="xlsxwriter", startrow=startrow)
startrow += (df.shape[0] + 2)
转载代码:
import numpy as np
import pandas as pd
# Create a Dataframe
df1 = pd.DataFrame(np.random.rand(8).reshape(4,2),columns=['X','Y']);print(df1.shape)
df2 = pd.DataFrame(np.random.rand(6).reshape(3,2),columns=['X','Y']);print(df2.shape)
df3 = pd.DataFrame(np.random.rand(10).reshape(5,2),columns=['X','Y']);print(df3.shape)
以上三个列相同但行不同的数据框,需要写在相同的excel sheet下面。预期输出如下所示。
注意:数据帧数量可能不同
你可以试试这个:
dfs = [df1, df2, df3]
startrow = 0
with pd.ExcelWriter('output.xlsx') as writer:
for df in dfs:
df.to_excel(writer, engine="xlsxwriter", startrow=startrow)
startrow += (df.shape[0] + 2)