您的位置:

Python追加写入CSV文件详解

一、CSV文件简介

CSV(Comma-Separated Values,逗号分隔值)文件是一种常见的电子表格文件格式,适用于将表格数据导入或导出其他系统。CSV文件中每一行是一条记录,每个字段用逗号分隔,因此不同行具有相同的字段数。

二、Python写入CSV文件

Python提供了处理CSV文件的库,其中较常用的是csv库。在处理CSV文件时,我们可以读取、写入或追加文件内容,其中,追加文件内容即是在原文件基础上新增记录。

我们可以通过以下代码来新建或追加CSV文件:

import csv

#新建CSV文件
with open('example.csv', 'w', newline='') as csvfile:
	writer = csv.writer(csvfile)
	writer.writerow(['序号', '姓名', '年龄'])
	writer.writerow(['1', '张三', '20'])
	writer.writerow(['2', '李四', '21'])

#追加CSV文件
with open('example.csv', 'a', newline='') as csvfile:
	writer = csv.writer(csvfile)
	writer.writerow(['3', '王五', '22'])
	writer.writerow(['4', '赵六', '23'])

以上代码中,第一个with语句创建CSV文件,其中'w'参数表示写文件,'newline'参数用于控制换行符的处理;writerow()函数用于写入行记录,括号内为每行的字段值,多个字段值以逗号隔开。

第二个with语句追加CSV文件,'a'参数表示追加写入文件内容,writerow()函数用法与新建CSV文件相同。

三、利用pandas模块处理CSV文件

另外,我们还可以利用pandas模块处理CSV文件。pandas是Python中的数据分析库,可以方便地读取、写入和处理各种数据格式,包括CSV文件。

我们可以用以下代码读取CSV文件:

import pandas as pd

df = pd.read_csv('example.csv')
print(df)

以上代码中,pd.read_csv()函数用于读取CSV文件,其中的参数为CSV文件的路径。df为读取后的数据,可以通过print(df)来查看其内容。

另外,我们可以用如下代码追加CSV文件:

import pandas as pd

df = pd.read_csv('example.csv')
df.loc[len(df)] = ['5', '孙七', '24']
df.to_csv('example.csv', index=False)

以上代码中,df.loc[len(df)]用于新增一行记录,index=False用于控制输出文件中是否包含行标签。

四、利用numpy模块处理CSV文件

除了pandas模块外,我们还可以利用numpy模块处理CSV文件。numpy是Python中科学计算库,可以方便地进行各种数学计算和数组操作。

我们可以用以下代码来追加CSV文件:

import numpy as np

data = np.array([['5', '孙七', '24'], ['6', '吴八', '25']])
with open('example.csv', 'ab') as f:
	np.savetxt(f, data, delimiter=',', fmt='%s')

以上代码中,np.array()函数用于创建一个二维数组,np.savetxt()函数用于将数组保存到CSV文件中,在其中f表示文件对象,delimiter用于设置字段分隔符,fmt用于设置输出格式。

五、CSV文件注意事项

在处理CSV文件时需要注意以下几点:

1. 文件路径需要正确,否则会报错。

2. 读取CSV文件时需指定字段分隔符,例如逗号、分号等。

3. CSV文件中可能存在中文字符或符号,需设置文件编码以免出现乱码。

4. 写入CSV文件时需确保每个字段的值都为字符串类型。

5. CSV文件中的换行符需注意,在Python 2.x中用“\r\n”表示,而在Python 3.x中用“\n”表示。

六、总结

本文介绍了Python追加写入CSV文件的多种方法,其中csv、pandas和numpy模块均提供了处理CSV文件的函数。在使用其中任意一个模块时,都需要注意上述CSV文件处理的相关注意事项,以免出现错误。