Python数据格式-CSV

时间:2022-07-26
本文章向大家介绍Python数据格式-CSV,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

写入CSV

  • 在Python中把数据写入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'])
  • 先写标题,在写数据: 注意:数据是一个列表,并且用writerows()方法
  • 以字典的方式写入csv
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

  • 读取CSV文件由两种方式:
  1. 第一种
import csv
with open('data.csv','r',encoding = 'utf8') as fp:
    reader = csv.reader(fp)
    for row in reader:
        print(row)
  1. 第二种
import pandas as pd #需要导入pandas库
df = pd.read_csv('data.csv')
print(df)