python与CSV文件存储


写入

csv文件的写入需要通过writer类构造一个对象进行写入,该类构造方法需要一个file对象,另外可以通过delimiter参数自定义分隔符

import csv

with open('data.csv','w') as csvfile:
    writer = csv.writer(csvfile,delimiter=`|`)
    writer.writerow() ## 写入列表的头
    writer.writerow() ## 写入列表数据

另外也可以通过writerows方法一次写入多条数据.

如果要写入中文数据,记得修改open的encoding参数

如果要写入字典的话,需要通过DicWriter类构造一个对象进行写入,该类构造方法需要一个file对象,还需要一个fieldnames参数,这个参数是字典的key值.
实例代码:

import csv
fieldnames = ['name','grade']
with open('data.csv','w',encodeing='utf8') as csvfile:
    writer = csv.DicWriter(csvfile,fieldnames = fieldnames)
    writer.writecow({'name':'韩梅梅','grade':'114514'})

另外,也可以使用pandas库的DataFrame对象的to_csv方法将数据写入CSV文件中.

import pandas

data = [{'name':'韩梅梅','grade':'114'},
        {'name':'李雷','grade':'514'}]
df = pd.DataFrame(data)
df.to_csv('data.csv',index = False)

读取

读取文件需要通过reader构造一个reader对象.

import csv

with open('data.csv','r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

另外也可以通过pandas库的read_csv方法读取

import pandas
df = pandas.read_csv(filename)
print(df)##本质是一个DataFrame对象,类似矩阵
list = df.values.to_list()
print(data) ##输出的是一个列表
for index,row in df.iterrows(): ##进行遍历
    print(row.tolist())

Author: Dovahkiin
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Dovahkiin !
  TOC