Python 循环中的数据帧,df.to_csv()
我试图从循环中将df写入csv,每一行代表一个df,但我发现有些困难,因为标题对于所有df都不相等,有些标题对于所有日期都有值,而另一些则没有 我正在使用与此类似的函数编写df:Python 循环中的数据帧,df.to_csv(),python,pandas,dataframe,concatenation,export-to-csv,Python,Pandas,Dataframe,Concatenation,Export To Csv,我试图从循环中将df写入csv,每一行代表一个df,但我发现有些困难,因为标题对于所有df都不相等,有些标题对于所有日期都有值,而另一些则没有 我正在使用与此类似的函数编写df: def write_csv(): for name, df in data.items(): df.to_csv(meal+'mydf.csv', mode='a') 它为每顿饭(午餐和晚餐)创建一个csv 每个df与此类似: Name Meal 22-03-18 23-03
def write_csv():
for name, df in data.items():
df.to_csv(meal+'mydf.csv', mode='a')
它为每顿饭(午餐和晚餐)创建一个csv
每个df与此类似:
Name Meal 22-03-18 23-03-18 25-03-18
Peter Lunch 12 10 9
或:
我试图使用pandas concatenate,但没有找到在函数中实现这一点的方法。
我的目标是使标题包含所有日期(作为所需输出的示例),独立于附加到csv的数据帧是否在所有日期中都有值
Actual output:
Name Meal 22-03-18 23-03-18 25-03-18
Peter Lunch 12 10 9
Mathew Lunch 12 11 11 10 9
Ruth Lunch 9 9 8 9
Anna Lunch 10 12 11 13 10
output with headers:
Name Meal 22-03-18 23-03-18 25-03-18
Peter Lunch 12 10 9
Name Meal 21-03-18 22-03-18 23-03-18 24-03-18 25-03-18
Mathew Lunch 12 11 11 10 9
Name Meal 21-03-18 22-03-18 24-03-18 25-03-18
Ruth Lunch 9 9 8 9
Name Meal 21-03-18 22-03-18 23-03-18 24-03-18 25-03-18
Anna Lunch 10 12 11 13 10
Output desired:
Name Meal 21-03-18 22-03-18 23-03-18 24-03-18 25-03-18
Peter Lunch 12 10 9
Mathew Lunch 12 11 11 10
Ruth Lunch 9 9 8 9
Anna Lunch 10 12 11 13 10
你能试试这样的吗?不确定这是否正是您想要的,但它将连接数据帧而不完全重叠列
def write_csv():
df2 = pd.DataFrame()
for name, df in data.items():
df2 = df2.append(df)
df2.to_csv('mydf.csv')
你能试试这样的吗?不确定这是否正是您想要的,但它将连接数据帧而不完全重叠列
def write_csv():
df2 = pd.DataFrame()
for name, df in data.items():
df2 = df2.append(df)
df2.to_csv('mydf.csv')
在第一次迭代之后,您可以使用header=False标志来添加到csv
def write_csv():
for i, (name, df) in enumerate(data.items()):
df.to_csv('mydf.csv', mode='a', header=(i==0))
在第一次迭代之后,您可以使用header=False标志来添加到csv
def write_csv():
for i, (name, df) in enumerate(data.items()):
df.to_csv('mydf.csv', mode='a', header=(i==0))
使用以下逻辑(@saucoide)我得到了我想要的输出
有必要创建一个空df,然后填充它,然后按餐分组并打印到csv
main_df=pd.DataFrame()
使用以下逻辑(@saucoide)我得到了我想要的输出
有必要创建一个空df,然后填充它,然后按餐分组并打印到csv
main_df=pd.DataFrame()
你能告诉我哪一个是你的df吗?@Djokester目前是tve的实际输出。我需要得到期望的输出。我试图创建一个主df,然后在循环的末尾写入,但我有一些限制,因为我的df是每个人午餐或晚餐的df,以及日期。你能告诉我哪一个是你的df吗?@Djokester目前是实际输出。我需要得到期望的输出。我试图创建一个主df,然后写在循环的末尾,但我有一些限制,因为我的df是每个人午餐或晚餐以及日期的df。