Python 读写CSV文档

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。

直接创建CSV文件有两种通用的办法:

  1. 直接用Excel新建文件,保存为.csv格式的文件即可
  2. 用文本编辑器,例如Sublime Text新建文件,保存为.csv格式的文件即可

每一行的数据是由,分隔

Python 处理CSV文档

读取CSV文档

利用Python 的CSV 库来处理对应的文档

1
2
3
4
5
6
7
8
9
10
11
12
13
import csv

# 读取文件至字典
csv_file = open("test.csv", "r")
reader = csv.reader(csv_file)

# 建立字典
result = {}
for item in reader:
result[item[0]] = item[1]
# 关闭文件
csv_file.close()
print(result)

每行数据会有一个属性:line_num表示行数

在遍历的时候,每一行就是一个list,

写入CSV文档

要把数据写入CSV 的文件,可以直接把list格式的数据写入,但是需要注意的是要使用writerow,否者不会自动换行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import csv

# 文件头,一般就是数据名
fileHeader = ["name", "score"]

# 假设我们要写入的是以下两行数据
d1 = ["Wang", "100"]
d2 = ["Li", "80"]

# 写入数据
csv_file = open("test.csv", "w")
writer = csv.writer(csvFile)

# 写入的内容都是以列表的形式传入函数
writer.writerow(fileHeader)
writer.writerow(d1)
writer.writerow(d1)

csv_file.close()

也可以直接使用writerows,一次性把数据放入一个list里面直接写入。

DictReader

可以直接把数据读取为字典的形式,第一行一般是文件的内容描述,自动作为字典的key值。

1
csv_file = csv.DictReader(csv_file)
DictWriter

以字典的形式把数据写入文本。

1
csv_file = csv.DictWriter(csv_file, fileheader)

Comments

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×