CSV文件

2019-05-20  本文已影响0人  IT_小马哥

CSV文件:Comma-Separated Values,中文叫,逗号分隔值或者字符分割值,其文件以纯文本的形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分割。每条记录由字段组成,字段间的分隔符是其他字符或者字符串。所有的记录都有完全相同的字段序列,相当于一个结构化表的纯文本形式。
用文本文件、EXcel或者类似与文本文件的都可以打开CSV文件。

在爬虫中,可以把数据写入CSV文件,示例如下:

import csv #需要导入库
with open('data.csv','w') as fp:
    writer = csv.writer(fp)#先传入文件句柄
    writer.writerow(['id','name','age'])#然后写入
    writer.writerow(['10001','mike','20'])#按行写入
    writer.writerow(['10002','Bob','22'])
    writer.writerow(['10003','Jordan','21'])
写入后的文件

如果想修改列与列之间的分隔符,传入delimiter参数:

import csv #需要导入库
with open('data.csv','w') as fp:
    writer = csv.writer(fp,delimiter = '*')#delimiter只能是一个字节的字符
    writer.writerow(['id','name','age'])#然后写入
    writer.writerow(['10001','mike','20'])#按行写入
    writer.writerow(['10002','Bob','22'])
    writer.writerow(['10003','Jordan','21'])
传入delimiter参数用*分割

也可以先写标题,在写数据:
注意:数据是一个列表,并且用writerows()方法

writerows([ ])
一般情况下,爬虫的数据以字典居多:
import csv
with open('data.csv','w') as fp:
    fieldnames = ['id','name','age']  #先定义字典里的key
    #用DictWriter()方法,增加一个fieldnames
    writer = csv.DictWriter(fp,fieldnames  = fieldnames,delimiter = '+') 
    writer.writeheader()#先写入key
    #按照字典的方式写入
    writer.writerow({ 'id':'10001','name':'mike','age':'20'})
    writer.writerow({ 'id':'10002','name':'Bob','age':'22'})
    writer.writerow({ 'id':'10003','name':'Jordan','age':'21'})
结果

读取CSV文件由两种方式:
(1)第一种

import csv
with open('data.csv','r',encoding = 'utf8') as fp:
    reader = csv.reader(fp)
    for row in reader:
        print(row)

(2)第二种

import pandas as pd #需要导入pandas库
df = pd.read_csv('data.csv')
print(df)
上一篇下一篇

猜你喜欢

热点阅读