1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

在python中读取和写入CSV文件详情

CSV文件读写操作详解

我是本际云服务器推荐网的小编,今天给大家详细解答如何用python去读取和载入CSV文件。CSV即逗号分隔值,一种以逗号分隔按行存储的文本文件,所有的值都表现为字符串类型。如果CSV中有中文,应以utf-8编码读写。

在python中读取和写入CSV文件详情

导入CSV库

Python中对CSV文件有自带的库可以使用,当我们要对CSV文件进行读写的时候直接导入即可。

import csv

对CSV文件进行读写

用列表形式写入CSV文件

csv.writer(f)支持writerow(列表)单行写入,和writerows(嵌套列表)批量写入多行,无须手动保存。

header=['name','age','QQ_num','wechat']
data=[['suliang','21','787991021','lxzy787991021']]
with open('information.csv','w',encoding='utf-8',newline='') as fp:
    #写
    writer=csv.writer(fp)
    #设置第一行标题头
    writer.writerow(header)
    #将数据写入
    writer.writerows(data)

打开文件时应指定格式为w,文本写入。打开文件时,指定不自动添加新行,否则每写入一行就或多一个空行。

用列表形式读取CSV文件

csv.reader(f,delimiter=’,’)直接将每行数据组装成列表格式,可以通过delimiter参数指定分隔符。

with open('information.csv',encoding='utf-8') as fp:
    reader=csv.reader(fp)
    #获取标题
    header=next(reader)
    print(header)
    #遍历数据
    for i in reader:
        print(i)

读取文件时文件路径务必要写对,不确定时可写绝对路径。要获取CSV的内容则需要遍历再输出。

用字典形式写入CSV文件

csv.DictWriter(f)写入时可使用writeheader()写入标题,然后使用writerow(字典格式数据行)或writerows(多行数据)。

header=['name','age']
data=[{'name':'suliang','age':'21'},
      {'name':'xiaoming','age':'22'},
      {'name':'xiaohu','age':'25'}]
with open('information.csv','w',encoding='utf-8',newline='') as fp:
    #写
    writer=csv.DictWriter(fp,header)
    #写入标题
    writer.writeheader()
    #将数据写入
    writer.writerows(data)

用字典形式读取CSV文件

csv.DictReader(f,delimiter=’,’)直接将标题和每一列数据组装成有序字典(OrderedDict)格式,无须再多带带读取标题行。

with open('information.csv',encoding='utf-8') as fp:
    reader=csv.DictReader(fp)
    for i in reader:
        print(i)

CSV读写的模式

r:以读方式打开文件,可读取文件信息。w:已写方式打开文件,可向文件写入信息。如文件存在,则清空,再写入。a:以追加模式打开文件,打开文件可指针移至末尾,文件不存在则创建。r+:以读写方式打开文件,可对文件进行读和写操作。w+:消除文件内容,以读写方式打开文件。a+:以读写方式打开文件,文件指针移至末尾。b:以二进制打开文件。

结语

综上所述,CSV文件读写的操作就介绍到这里了,希望可以给大家带来帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6811.html