【编程】Python 读写CSV文件

CSV 文件是纯文本文件,用逗号分隔值,用以表示表格化的数据。

CSV 文件实例

column1,column2,column3,column4 
data11,data12,data13,data14
data21,data22,data23,data24
data31,data32,data33,data34
data41,data42,data43,data44

csv 模块实现了操作 CSV 文件的类方法。
有两种方法可以读取 CSV 文件: reader 函数和 DictReader 类。

使用 csv.reader

csv.reader() 方法可以从一个包含 CSV 格式数据的文件中析取数据,这个方法返回一个读取对象,它可以遍历接收 CSV 的每一行数据,并且转换为字符串列表。

例子

import csv 
with open('data.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for row in reader:
print(row)

作为数组返回每一行,每行的第一个元素是: row[0], row[1], row[2] 等。

import csv 
with open('data.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for col in reader:
print(col[0], " : ",col[1], " : ", col[2], " : ", col[3])

输出

column1 : column2 : column3 : column4
data11 : data12 : data13 : data14
data21 : data22 : data23 : data24
data31 : data32 : data33 : data34
data41 : data42 : data43 : data44

使用 DictReader

Python 的 DictReader 类创建一个 CSV 对象,类似于Python 的 OrderedDict 类对象。它先读取第一行数据,将逗号分隔的值作为字典的键值,然后可以依次按照行和键值访问数据。

例子

import csv 
with open('data.csv') as csvfile:
reader = csv.DictReader(csvfile, delimiter=',')
for line in reader:
print(line["column1"],line["column2"],line["column3"],line["column4"])

输出

data11 data12 data13 data14
data21 data22 data23 data24
data31 data32 data33 data34
data41 data42 data43 data44

写 CSV 文件

csv 模块有两个写 CSV 文件的方法, 包括 writer 对象和 DictWriter 类。 writer 对象有两个函数 writerow() 和 writerows() ,第一个函数每次写出一行数据,第二个函数每次可以写入多行数据。

例子

import csv 
data = [['column1','column2'],['data11','data12'],['data21','data22']]
csv_file = open('data1.csv', 'w') with csv_file:
writer = csv.writer(csv_file)
writer.writerows(data)
print("Done")



【编程】Python 解析XML
【编程】Python 终止程序
【编程】Python 随机数
【编程】Python 异常处理
【编程】Python 日期和时间
【编程】Python 多线程套接字
【编程】Python 套接字
【编程】Python FTP
【编程】Python 网页

此条目发表在人工智能, 服务器, 程序开发分类目录,贴了, , , 标签。将固定链接加入收藏夹。