1. CSV文件的基本知识
CSV是一种常用的文件格式,它以逗号作为字段的分隔符,可以将表格化数据保存到文本文件中。
常用的电子表格程序如 Excel 就可以将数据保存成 CSV 格式,也可以将 CSV 格式的数据导入到电子表格中进行查看和分析。
CSV文件的扩展名一般为.csv,它可以保存简单的表格数据,如商品名称、价格、库存等,也可以保存复杂的数据,如会员信息、订单信息等。
2. Python中的CSV模块
Python中提供了CSV模块用于读写CSV文件,可以快速方便地读取和写入CSV文件。
CSV模块提供了一系列函数和类,主要包括csv.reader、csv.writer、csv.DictReader和csv.DictWriter等,各自的作用如下:
- csv.reader:创建一个用于读取CSV文件的读取器对象。
- csv.writer:创建一个用于写入CSV文件的写入器对象。
- csv.DictReader:创建一个用于读取CSV文件并按字典返回每行数据的读取器对象。
- csv.DictWriter:创建一个用于写入CSV文件并按字典写入每行数据的写入器对象。
3. 读取CSV文件
下面是一个读取CSV文件的例子:
import csv with open('example.csv', 'r') as csvfile: reader = csv.reader(csvfile, delimiter=',') for row in reader: print(row)
以上代码打开了一个名为 example.csv 的文件,并创建了一个读取器对象 reader ,它使用逗号作为字段的分隔符。然后通过迭代读取器对象的方式打印出每一行的数据。
4. 写入CSV文件
下面是一个写入CSV文件的例子:
import csv with open('example.csv', 'w', newline='') as csvfile: writer = csv.writer(csvfile, delimiter=',') writer.writerow(['商品名称', '价格', '库存']) writer.writerow(['商品A', '10', '100']) writer.writerow(['商品B', '20', '200']) writer.writerow(['商品C', '30', '300'])
以上代码打开了一个名为 example.csv 的文件,并创建了一个写入器对象 writer,它使用逗号作为字段的分隔符。然后写入了header,和三个商品的信息。
5. 使用字典读写CSV文件
除了使用csv.reader和csv.writer读写CSV格式的数据外,Python还提供了csv.DictReader和csv.DictWriter两个类,可以将CSV格式的数据读取为字典或将字典写入CSV格式的数据。
下面是一个使用字典读取CSV文件的例子:
import csv with open('example.csv', 'r') as csvfile: reader = csv.DictReader(csvfile) for row in reader: print(row['商品名称'], row['价格'], row['库存'])
以上代码创建了一个读取器对象 reader,并将CSV文件中的行读取为字典类型,然后通过字典的键获取对应的值并打印输出。
下面是一个使用字典写入CSV文件的例子:
import csv with open('example.csv', 'w', newline='') as csvfile: writer = csv.DictWriter(csvfile, fieldnames=['商品名称', '价格', '库存']) writer.writeheader() writer.writerow({'商品名称': '商品A', '价格': '10', '库存': '100'}) writer.writerow({'商品名称': '商品B', '价格': '20', '库存': '200'}) writer.writerow({'商品名称': '商品C', '价格': '30', '库存': '300'})
以上代码创建了一个写入器对象 writer,并将字典类型的数据写入到CSV文件中,通过 fieldnames 参数指定写入的字段,并使用 writeheader 函数写入header,写入数据时使用字典形式进行写入。
6. 结语
CSV文件是一种常见的数据格式,Python提供了csv模块,可以方便地读写CSV文件。在实际的数据处理中,我们经常需要将数据从数据库或其他数据源中读取并保存到CSV文件中,或者从CSV文件中读取数据并进行后续的处理和分析。
本文介绍了Python中使用csv模块读写CSV文件的方法,希望对大家能有一些帮助。