Python基础教程之CSV格式文件的写入与读取
在Python中,CSV格式文件是一种常见的文件格式,它有多行文本数据组成,每行数据由多个字段组成,各字段之间用逗号分隔,最后一行无需换行符,特别适合存储表格化的数据,如日程计划、费用清单等等。
本篇攻略将详细介绍如何使用Python对CSV格式文件进行读写操作。
CSV文件的读取
在Python中,我们可以使用csv模块中的reader方法对CSV格式文件进行读取,示例代码如下:
import csv
with open('example.csv', newline='') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='|')
for row in reader:
print(', '.join(row))
代码解释:
-
csv.reader方法:返回一个Reader对象,用于以逐行地方式读取CSV文件中的数据。
-
delimiter参数:指定CSV文件中的分隔符,如逗号、分号等等。
-
quotechar参数:指定CSV文件中的字符引用符,如单引号、双引号等等。
-
for循环:逐行读取CSV文件,每一行读取到的数据存储在列表row中。
-
','.join(row):将每行数据中所有字段用逗号拼接成一个字符串,并输出到控制台。
CSV文件的写入
在Python中,我们同样可以使用csv模块中的writer方法对CSV格式文件进行写入,示例代码如下:
import csv
with open('example.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
writer.writerow(['Year', 'Event', 'Winner'])
writer.writerow(['1995', 'Best-Kept Lawn', 'None'])
writer.writerow(['1999', 'Gobstones', 'Welch National'])
代码解释:
-
csv.writer方法:返回一个Writer对象,用于将数据以逐行地方式写入CSV文件中。
-
QUOTE_MINIMAL参数:指定CSV文件中的特殊字符使用最小拼接方式。
-
writerow方法:将一个列表中的数据一行一行地写入CSV文件中。
另外,值得注意的是,在打开CSV文件时,我们需要指定打开文件的模式,其中:
-
‘r’:表示只读模式。
-
‘w’:表示写入模式,如果文件已存在,则会覆盖文件;如不存在,则会创建文件。
-
‘a’:表示追加模式,如果文件已存在,则将数据写入到文件末尾;如不存在,则会创建文件。
示例1:
import csv
header = ['Name', 'Age', 'Gender']
data = [
['Tom', '28', 'Male'],
['Jerry', '25', 'Female'],
['Spike', '30', 'Male'],
]
with open('example.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
writer.writerow(header) # 写入表头
writer.writerows(data) # 写入数据
示例2:
import csv
with open('example.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['Name'], row['Age'], row['Gender'])
代码解释:
-
csv.DictReader方法:返回一个Reader对象,将CSV文件中的每行数据转化为一个字典,字典中的每个键对应CSV表头中的一个字段。
-
for循环:逐行读取CSV文件,每一行读取到的数据存储在字典row中。
-
row['Name'], row['Age'], row['Gender']:输出字典row中指定字段的值。
到此,对于Python基础教程之CSV格式文件的写入与读取攻略就大功告成啦!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python基础教程之csv格式文件的写入与读取 - Python技术站