Python - csv库的操作
)
Python CSV 模块
csv模块实现用于以 CSV 格式读取和写入表格数据的类。 csv模块的reader和writer对象读取和写入序列。 还可以使用DictReader和DictWriter类以字典形式读取和写入数据。
Python CSV 方法
方法 | 描述 |
---|---|
csv.reader | 返回一个遍历 CSV 文件各行的读取器对象 |
csv.writer | 返回将数据写入 CSV 文件的写入器对象 |
csv.DictWriter | 该类的操作类似于常规读取器,但会将读取的信息映射到字典中。 字典的键可以使用fieldnames参数传入,也可以从 CSV 文件的第一行推断出来。 |
例子:(其中f为open函数所返回的.csv文件指针) 写入表头方法:
代码 | 说明 |
---|---|
csv_write = csv.DictWriter(f, fieldnames=[‘游戏地址’,‘游戏名字’]) | [其中内容是表头说明] |
csv_write.writeheader() | 写入头 |
csv_write.writerow({‘游戏地址’: data_url, ‘游戏名字’: title}) | 写入表头下的数据,data_url:爬虫爬取的游戏地址,title:为游戏名称 |
f.close() | 操作完文件都要close() |
读取csv文件读取举例1
import csv
with open("text.csv") as f:
reader = csv.reader(f) # 读取每一行数据,并返回文件指针
for row in reader:
print(row) # 读取以列表的形式保存数据 [ ]
for e in row:
print(e) # 单个读取所有数据
读取csv文件读取举例2
with open('4399小游戏爬取.csv', 'r',encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
print(row['游戏地址'], row['游戏名字']) # 根据字典键打印对应值
Python CSV (写入)编写器
csv.writer()方法返回一个 writer 对象,该对象将用户数据转换为给定文件状对象上的定界字符串。
import csv
nms = [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12]]
f = open('numbers2.csv', 'w')
with f:
writer = csv.writer(f)
for row in nms:
writer.writerow(row)
1,2,3,4,5,6 # 第一行
7,8,9,10,11,12 # 第二行
一次写入所有数据是可能的。 writerows()方法将所有给定的行写入 CSV 文件。
import csv
nms = [[1, 2, 3], [7, 8, 9], [10, 11, 12]]
f = open('numbers3.csv', 'w')
with f:
writer = csv.writer(f)
writer.writerows(nms)