我需要每天写入同一个 CSV,但每次编译时都会从头开始重写文件。我的想法是读取文件已写入的行数并在该行中写入新信息。
我目前正在这样做:
creacion = {0: [0.081818182000000003], 2: [0.30769230800000003], 8: [0.0]})
my_df = pd.DataFrame(creacion)
my_df.to_csv('out.csv', index=False, header=False,sep=';',decimal=',')
我从 CSV 得到的输出是:
0,081818182;0,307692308;0
但是,如果我再次编译其他信息,则会从头开始重写它:
creacion = {3: [0.0], 4: [0.22222], 5: [0.1]})
my_df = pd.DataFrame(creacion)
my_df.to_csv('out.csv', index=False, header=False,sep=';',decimal=',')
我从 CSV 得到的输出是:
0;0,22222;0,1
可接受的输出是:
0,081818182;0,307692308;0
0;0,22222;0,1
另一件事,您也可以直接添加字典键吗?
理想情况下我想做的是:
0;0,081818182
2;0,307692308
8;0
3;0
4;0,22222;0,1
5;0,1
问题是您每次都在截断文件。因此,您应该做的是之前以“追加”模式而不是“写入”模式打开文件(这会截断已经存在的内容)。
您可以使用参数
mode
并放置“a”来执行此操作,以便它覆盖默认情况下的“w”:有关参考页面的更多信息
pandas.DataFrame.to_csv()
。您给出的示例有点令人困惑,因为您创建了具有不同列的数据框,最后您对其进行了旋转,但您可以通过以下方式实现:
带输出
我正在尝试根据我在这里的内容写入一个 csv 文件 my_df=pd.DataFrame({'Shot':[3], 'Score':[Score]}) my_df.to_csv('Scores2.csv',模式='a',索引=False,标题=True,sep=';',十进制=',')
我想要的是标题只写一次,因为它反复出现