CSV(Comma-Separated Values)文件格式是一种简单的文本文件格式,用于存储表格数据,包括数字和文本。
CSV文件中的数据由逗号(或其他分隔符,如制表符、分号等,尽管逗号是最常见的)分隔,形成行和列的结构,类似于电子表格或数据库中的表格。
在Python中,我们可以使用标准库csv
模块来读写CSV文件。
1、读取CSV文件
读取CSV文件可以使用csv.reader()
方法。这个方法返回一个迭代器,该迭代器遍历文件中的每一行,并将每行作为列表返回,其中列表的每个元素是CSV行中的一个字段。如:
import csv
# 打开CSV文件
with open('example.csv', mode='r', newline='', encoding='utf-8') as file:
csv_reader = csv.reader(file)
# 遍历CSV文件的每一行
for row in csv_reader:
print(row) # row是一个列表,包含了当前行的所有字段
如果CSV文件包含标题行,想要跳过标题行,可以通过next(csv_reader)
来实现:
import csv
with open('example.csv', mode='r', newline='', encoding='utf-8') as file:
csv_reader = csv.reader(file)
next(csv_reader) # 跳过标题行
for row in csv_reader:
print(row)
如果读取的CSV文件使用了非标准的格式(例如,使用了不同的分隔符或引号字符),你可以通过 dialect
参数或关键字参数来自定义CSV文件的格式。如:
csv_reader = csv.reader(file, delimiter='\t')
2、写入CSV文件
写入CSV文件可以使用csv.writer()
方法。这个方法接受一个文件对象作为参数,并返回一个写入器对象。如:
# 要写入CSV文件的数据
rows = [
['Alice', '24', 'New York'],
['Bob', '30', 'Los Angeles'],
['Charlie', '35', 'Chicago']
]
# 打开(或创建)CSV文件
with open('output.csv', mode='w', newline='', encoding='utf-8') as file:
csv_writer = csv.writer(file)
# 写入多行
csv_writer.writerows(rows)
假如需要假如标题行,可以这样写:
with open('output.csv', mode='w', newline='', encoding='utf-8') as file:
csv_writer = csv.writer(file)
# 写入标题行
csv_writer.writerow(['Name', 'Age', 'City'])
# 写入数据行
csv_writer.writerow(['Alice', '24', 'New York'])
csv_writer.writerow(['Bob', '30', 'Los Angeles'])
csv_writer.writerow(['Charlie', '35', 'Chicago'])