📜  pandas to_csv 追加 - Python (1)

📅  最后修改于: 2023-12-03 15:18:14.227000             🧑  作者: Mango

pandas to_csv 追加 - Python

在我们日常开发中,我们常常需要将数据保存到本地的csv文件中。而在某些情况下,我们需要将新的数据追加到已经存在的csv文件中,而不是覆盖原有的数据。这时候,我们可以使用pandas库提供的to_csv()函数,结合mode参数实现将数据追加到已有的csv文件中。本文将为你详细介绍pandas to_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:文件编码方式
pandas to_csv 追加示例

以两个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()函数。