写入
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())