📅  最后修改于: 2023-12-03 15:18:14.227000             🧑  作者: Mango
在我们日常开发中,我们常常需要将数据保存到本地的csv文件中。而在某些情况下,我们需要将新的数据追加到已经存在的csv文件中,而不是覆盖原有的数据。这时候,我们可以使用pandas库提供的to_csv()函数,结合mode参数实现将数据追加到已有的csv文件中。本文将为你详细介绍pandas to_csv追加的用法和示例。
函数原型:
DataFrame.to_csv(path_or_buf, sep=',', index = False, header=True, mode='w', encoding=None, …)
参数说明:
path_or_buf
:文件路径或文件对象sep
:分隔符,默认逗号index
:是否将行索引写入文件,默认不写入header
:是否将列名写入文件,默认写入mode
:文件打开方式,默认为‘w’(覆盖原有文件)。如果需要追加到原有文件中,则设置为‘a’encoding
:文件编码方式以两个dataframe的追加为例,分别创建两个dataframe对象,将它们依次追加到已存在的csv文件中
import pandas as pd
# 创建两个DataFrame
df1 = pd.DataFrame({'name':['Tom', 'Jerry'], 'age':[18, 20]})
df2 = pd.DataFrame({'name':['Bob'], 'age':[22]})
# 将数据追加到已有的csv文件中
with open('test.csv', 'a') as f:
df1.to_csv(f, header=f.tell()==0, index=False, mode='a')
df2.to_csv(f, header=False, index=False, mode='a')
上述代码打开一个名为test.csv的文件,然后将两个dataframe对象依次追加到该csv文件中。其中在写入df1时,通过header=f.tell()==0这个条件进行判断,如果已有文件中还没有数据,就将列名写入;如果已有文件中已经有数据,就不写列名。在写入df2时,header参数设置为False,不写入列名。
本文介绍了pandas库提供的to_csv()函数,及其如何实现将新的数据追加到已存在的csv文件中。通过掌握本文所示的用法和示例,相信读者能够更加熟练并合理地使用pandas库中的to_csv()函数。