CSV文件

作者: IT_小马哥 | 来源:发表于2019-05-20 10:44 被阅读0次

    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)
    

    相关文章

      网友评论

          本文标题:CSV文件

          本文链接:https://www.haomeiwen.com/subject/wkmhzqtx.html