文档:https://docs.python.org/3.4/library/csv.html
1.读取:
报编码错误:https://blog.youkuaiyun.com/yimixgg/article/details/80088809?utm_source=blogxgwz5
import csv
fp = open('文件名',encoding = 'utf-8')
reader = csv.reader(fp)
for row in reader:
print(row)
fp.close()
每行数据转化为一个字典对象
import csv
fp = open('文件名',encoding = 'utf-8')
reader = csv.DictReader(fp) #DictReader跳过csv文件的第一行
print(read.fieldnames) 打印列名
for row in reader:
print(row)
fp.close()
以元组,元组里面是一个列表,每一列头对应相应的数据是元组
OrderedDict([('准考证号', '1020241043'), ('姓名', '叶玲'), ('性别', '女'), ('客观分', '35.0'), ('主观分', '26.0')])
命名元组方式:Row(列名=数据名,列名=数据名)这种形式
from collection import namedturple
import csv
with open('zjk.csv') as f:
f_csv = csv.reader(f)
headings = next(f_csv) #获取列名
Row = namedturple('Row",headings)
for r in f_csv:
row = Row(*r)
print(r.UserName,row.Password)
print(row)
2.储存为csv文件
f = open('C:\\Users\\13479\\Desktop\\python项目\\爬虫入门2\\豆瓣图书TOP250\\doubanbook.text',
'wt',encoding = 'utf-8') #创建csv
writer = csv.writer(f) #写入的对象
writer.writerow(('name','author','publisher','data','price','rate',
'comment')) #写入header部分
writer.writerow((name,book_url,author,publisher,data,price,rate,
comment)) #写入数据
如果写入的csv为乱码,可以将,将encoding='utf8'改为encoding='gb18030'
写入 ‘时间’ 一个字符串时,被分成了两列 ‘时’ 和 ‘间’
因为默认是以逗号分割
https://blog.youkuaiyun.com/weixin_41278720/article/details/80826067
writer.writerow(('时间',))