首页 > 解决方案 > 将数组中的数据保存到 csv 文件中

问题描述

我制作了一个程序,使用 python 中的 pandas 数据框将两个数组保存到 csv 文件中,以便我可以记录所有数据。

我尝试了下面列出的代码。

 U_8=[]
 start=[]
 U_8.append(d)
 start.append(str(time.time()))
 x=pd.DataFrame({'1st':U_8,  'Time Stamp':start})
 export_csv = x.to_csv (r'/home/pi/Frames/q8.csv', index = None, 
 header=True)

每次程序关闭并再次运行时,它都会覆盖存储在 csv 文件中的先前值。我希望它将新值与以前的值一起保存。我如何在这个 csv 文件中存储过去和现在的值。

标签: pythoncsv

解决方案


为了追加到 csv 而不是写入,传递mode='a'df.to_csv. 默认模式是'w'覆盖具有相同文件名的任何现有 csv。但是,普通附加也会附加列标题,这些标题将在您的 csv 中显示为值。为了缓解这种情况,请传递header=False您的后续运行:df.to_csv(data, mode='a', header=False).
另一种方法是读取您的原​​始 DataFrame 并将pd.concat其与您的新结果结合使用。工作流程将是这样的:

  1. 将原始 csv 读入 DataFrame。
  2. 创建具有新结果的 DataFrame。
  3. 连接两个 DataFrame。
  4. 将生成的 DataFrame 写入 csv。

.to_csv不必将 的返回值分配给变量。如在df.to_csv(data)仍将导出到 csv。


推荐阅读