1.新建一个CSV文件
import csv
path='data/test.csv' #此处注意,使用"/"
csvf=open(path,'a+',encoding='utf-8',newline='')
2.定义字段名,并初始化csv文件为writer
fieldnames=['name','age']
writer=csv.DictWriter(csvf,fieldnames=fieldnames)
writer.writeheader()
3.将待存储数据整理为字典格式
test_data={'name':'David','age':25}
4.用writer往csv中存储数据
writer.writerow(test_data)
5.最后记得关闭csv文件
csvf.close()
举个栗子:
>>> import csv
>>> path='F:/papapa/data/dianpin.csv'
>>> csvf=open(path,'a+',encoding='utf-8',newline='')
>>> fieldnames=['hotel_name','addr1','addr2']
>>> writer=csv.DictWriter(csvf,fieldnames=fieldnames)
>>> writer.writeheader()
>>> for hotel in doc.items('.hotel-block'):
hotel_name=hotel('.hotel-name-link').text()
addr1=hotel('.place a').text()
addr2=hotel('.walk-dist').text()[1:]
data={'hotel_name':hotel_name,
'addr1':addr1,
'addr2':addr2}
writer.writerow(data)
>>> csvf.close()
读取CSV格式的文件
fo=open(fname)
ls=[]
for line in fo:
line=line.replace("\n","")
ls.append(line.split(""
写入CSV格式的文件
ls=[[],[],[]]#二维列表
f=open(fname,'w')
for item in ls:
f.write(','.join(item)+"\n")
f.close()
CSV文件写入后乱码:
把encoding='utf-8’改为encoding=‘utf-8-sig’