【问题标题】:Unable to append dataframes to a csv files无法将数据帧附加到 csv 文件
【发布时间】:2019-03-02 09:26:45
【问题描述】:

我有 3 个尺寸为 (a*2,b*2,c*2) 的数据框,而 a,b,c 是不同的数字。 我想将它们添加到单个 csv 文件中,但每次都会被覆盖。 我用过这个
pandas DataFrame output end of csv

但做不到。

我的代码-

list_df = [df1, df2, df3]
for ii list_df:
   with open("cumulative_score.csv",'a',encoding='utf-8') as r:
       ii.to_csv(r)

但是,我得到的最终输出只是最后一个数据帧,而不是所有其他数据帧。

【问题讨论】:

  • 你似乎错过了 header=False
  • 我希望它们在同一张纸下
  • 相关,但不完全是重复的(因为它没有回答为什么这不起作用:它只回答如何让它工作):stackoverflow.com/questions/17530542/…(或者,实际上,你自己的链接的问题)。
  • @dartdog 这是故意的,否则我的文件没有标题列,我将只忽略数据点
  • 同一行部分是可以理解的:该字符串中没有换行符。至少它不是您的操作系统/文件系统中阻止文件被附加的东西。那么这可能是 Pandas to_csv 方法中的一个错误。

标签: python python-3.x pandas


【解决方案1】:

to_csv() 方法有一个模式选项;尝试使用它:

list_df = [df1, df2, df3]
for df in list_df:
   df.to_csv("cumulative_score.csv", mode='a')

【讨论】:

  • 有趣的是,这个解决方案对我有用,但是在你的代码中使用 with open(... 解决方案对我不起作用。
  • 我的错,我把它误认为是开放功能,这有效,但with open ( 方式不起作用。任何想法,为什么它不起作用?
  • @Mark ... 尝试嵌套for loop INSIDE with()
猜你喜欢
  • 2021-07-21
  • 2020-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多