当需要处理大量的数据时,我们通常会使用csv格式的文件存储和读取数据,而Python中的csv模块就是一个很好地处理这种文件格式的工具。
使用csv模块读取csv格式文件
1. 导入csv模块
import csv
- 打开csv文件
可以使用 Python 中的 open 函数打开 csv 文件,可以指定文件名、文件模式(读取模式 r、写入模式 w、追加模式 a)等参数。
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
其中,csv.reader函数将CSV文件解析成一个迭代器,每一次迭代返回一行内容,以列表形式表示。
- 读取csv文件数据
我们可以使用reader对象来逐行读取csv文件数据,如上述代码的第二个和第三个语句中所示。
具体来说,在每次循环开始时,reader对象读取一行csv文件数据,并使用csv文件中列与列之间的分隔符(默认分隔符为半角逗号)分割每个元素,并以列表形式存储每个值。每次循环,我们使用print语句来打印这个列表。
使用csv模块写入csv格式文件
1. 导入csv模块
import csv
- 打开csv文件
使用Python中的open函数打开csv文件,指定文件名和文件模式打开一个文件对象,如下述的代码所示。
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
其中,csv.writer函数将CSV文件解析成一个写入器,写入器对象可以使用writerow方法将列表或元组写入CSV文件,需要指定一个以列与列之间的分隔符分割的可迭代对象。newline参数是可选参数,用于控制csv写入时的行结束符,当newline的值为''时,csv将使用系统默认的行结束符。
- 写入数据到csv文件
使用writerow方法往csv文件中写入一行数据,如下述代码所示。
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['name', 'age', 'city'])
writer.writerow(['Tom', '28', 'Shanghai'])
writer.writerow(['Jack', '24', 'Beijing'])
以上代码使用写入器对象writer将三个列表分别写入CSV文件data.csv中,注意CSV文件每一行的元素要用逗号分隔。
完整代码示例
读取csv格式文件:
import csv
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
写入csv格式文件:
import csv
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['name', 'age', 'city'])
writer.writerow(['Tom', '28', 'Shanghai'])
writer.writerow(['Jack', '24', 'Beijing'])
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 使用csv模块读写csv格式文件的示例 - Python技术站