CSV 通常用于在电子表格软件和纯文本之间交互数据;CSV 文件内容仅仅是一些用逗号分隔的原始字符串值。
获取数据,以 CSV 格式输出到文件中,再将同样的数据读回。
import csv
from distutils.log import warn as printf
DATA = ((4, "Python进阶-Web 服务", "数据云团"),
(5, "Python进阶-GUI-Tk接口", "小团子"),
(6, "Python进阶-GUI-目录树", "团子"),
(7, "Python进阶-GUI-控件", "云团")
)
printf("*** 写入 CSV 数据")
首先,导入 csv 模块以及 distutils.log.warn(),后者作为 print() 语句或函数的代理(print 语句和函数只在单个字符串作为参数的情况下相同,使用代理可以消除这个限制)。接着是数据集导入,该数据集是三元组,每个元素占用一列。
f = open("data.csv", "w")
writer = csv.writer(f)
for record in DATA:
writer.writerow(record)
f.close()
printf("*** 保存数据")
csv.writer() 函数需要一个打开的文件,返回一个 writer 对象。writer 提供了 writerow() 方法,用来在打开的文件中逐行写入逗号分隔的数据。写入完成后,关闭该文件。
f = open("data.csv", "r")
reader = csv.reader(f)
for title in reader:
printf(title)
f.close()
csv.reader() 函数返回一个可迭代对象,可以读取该对象并解析为 CSV 数据的每一行。