Python读写CSV文件

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Python读写CSV文件

还是要努力呀!   2022-09-08 我要评论

1. 读取CSV文件 csv.reader()

该方法的作用相当于就是通过 ',' 分割csv格式的数据,并将分割好的每行数据存入列表中,并且还去除了每行最后分割产生的数据尾部的空格、换行符、制表符等等。

import csv
with open('data.csv',mode='r',encoding='utf-8-sig',newline='') as File:
    # 使用csv.reader()将文件中的每行数据读入到一个列表中
    reader = csv.reader(File, delimiter=',', quotechar=',', quoting=csv.QUOTE_MINIMAL)
    # 遍历列表将数据按行输出
    for row in reader:
        print(row)      

直接通过 索引 来访问每行数据的列元素

for row in reader:
    print(row[0])

csv.DictReader()

该方法将文件中的每行数据保存在 OrderedDict 中,此数据类型类似于嵌套着元组的列表,每个元组中的第一个元素为键,第二个元素为值,其中元组中的键来自于CSV数据中的表头信息。

import csv
results = []
with open('data.csv',mode='r',encoding='utf-8-sig',newline='') as File:
    reader = csv.DictReader(File)
    for row in reader:
        print(row)

通过键值来读取部分信息

 for row in reader:
        print(row['MakeSpan'],row['WaitTime'])

关于DictReader()的更多内容尚未学习整理,如有需要可参考其他文章:CSV.DictReader()方法

2. 写入CSV文件

首先需要导入读写csv需要用的包:

import csv

使用open()函数打开一个文件,open()函数常用的参数:

  • file:文件路径、文件名
  • mode:打开模式,r(只读),w(只写),a(追加模式)
  • newline:每行之间是否存在空行,默认存在空行,' ':没有空行。
myFile = open('example2.csv', 'w', newline='')

csv.writer模块,用于将数据写入CSV:

  • csvfile:这 能够 是带有write()方法的任何对象。
  • dialect=‘excel’:一个可选参数,用于定义特定于特定CSV的一组参数。
  • fmtparam:可选参数,可用于覆盖现有的格式设置参数。
writer = csv.writer(myFile)

使用writerow()和writerows()将数据写入到CSV文件中:

  • writerow():将数据存到csv文件中的一行里,每个元素占用一个单元格
  • writerows():将数据中的每一个列表存到CSV文件中的一行里,列表中每个元素占用一个单元格
myData1 = [["这", "是", "writerow", "的", "效", "果"],
           ["这", "是", "writerow", "的", "效", "果"],
           ["这", "是", "writerow", "的", "效", "果"]]
           
myData2 = [["这", "是", "writerows", "的", "效", "果"],
           ["这", "是", "writerows", "的", "效", "果"],
           ["这", "是", "writerows", "的", "效", "果"]]
myFile = open('example2.csv', 'w', newline='')
with myFile:
    writer = csv.writer(myFile)
    writer.writerow(myData1) 
    writer.writerows(myData2) 

写入文件后的效果如下所示:

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们