2 回答

TA贡献1802条经验 获得超4个赞
问题是您没有在每个点都对数据框进行切片。
利用 :
with pd.ExcelWriter('output.xlsx') as writer:
for number,each_col in enumerate(df.columns,1):
df[[each_col]].to_excel(writer,f'Sheet{number}',index=False)
或者如果您希望 shetname 成为列名。
with pd.ExcelWriter('output.xlsx') as writer:
for each_col in df.columns:
df[[each_col]].to_excel(writer,f'Sheet{each_col}',index=False)

TA贡献1860条经验 获得超9个赞
这应该工作:
import pandas as pd
# created a dummy row in a new dataframe as per the column list you shared
df2 = pd.DataFrame(['Dummy_PassengerId1', 'Dummy_Survived1', 'Dummy_Pclass1', 'Dummy_Name1', 'Dummy_Sex1', 'Dummy_Age1', 'Dummy_SibSp1',
'Dummy_Parch1', 'Dummy_Ticket1', 'Dummy_Fare1', 'Dummy_Cabin1', 'Dummy_Embarked1']).T
# appended the appropriate headers to the dataframe
df2.columns = ['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked']
以上两个步骤只是创建一个包含一行和所需标题的虚拟数据框。下面一行将满足您的要求(据我所知):“将数据框的每一列写入 excel 中的新工作表”。希望这能澄清。
with pd.ExcelWriter('output1.xlsx') as writer:
for col in df2.columns:
df2[col].to_excel(writer, sheet_name='Sheet_'+col)
添加回答
举报