首先读写csv文件需要引入官方库
import csv
本文使用的csv文件随便建立一个即可,使用wps等办公软件或者手撸一个utf-8格式的文件都可以
读文件:
普通编写的csv文件和wps、word编写的csv文件编码可能不同。
按照习惯从空白文件编写的一般为utf-8编码。
word之类的文字办公软件通常如果为中文的话。
会选择gbk或者gb2312编码。
这种时候读写时需要标注对应编码。
f1 = open('py_ssv/test.csv', 'r', encoding='utf-8')
with f1:
reader = csv.reader(f1)
for i in reader:
for j in i:
print(j)
print(type(j))
print('#'*50)
f1 = open('py_ssv/工作簿1.csv', 'r', encoding='gbk')
with f1:
reader = csv.reader(f1)
for i in reader:
for j in i:
print(j)
print(type(j))
写文件:
使用csv.writer.writerow可以写一行,通过可迭代的字典或者列表等对象形式,每个元素占用一个格子。
使用csv.writer.writerow可以写多行,通过可迭代的字典或者列表等对象形式,每一行的元素必须是可迭代对象,可迭代对象中的每个元素占一格。每一个可迭代对象占一行。
nms = [[1, 2, 3],
[7, 8, 9],
[10, 11, 12]]
f = open('py_ssv/工作簿1.csv', 'w',encoding='utf-8',newline='')
with f:
writer = csv.writer(f)
writer.writerows(nms)
nms = [1,1,1,1,1,1,1,1,1]
f = open('py_ssv/工作簿1.csv', 'w',encoding='utf-8',newline='')
with f:
writer = csv.writer(f)
writer.writerow(nms)