python对csv文档进行读,写,追加操作(csv,pandas)

python处理csv文档的两种方法(csv,pandas)

python处理csv一般采用两种方法一种是import pandas 另一种是 import csv
本文将介绍这两种方法对csv进行读,写,追加的操作


1.import pandas

import pandas as pd
df = pd.read_csv(path, header=0)

header=0是第一行为标题,若header=1是第二行为标题,第一行的数据就忽略

数据转换成DataFrame格式后保存
index:是否要索引,是否显示行名,default=True
如含有中文则添加 encoding=“utf_8_sig”,否则会乱码
df.to_csv(‘abc.csv’,encoding=“utf_8_sig”,index=None)

import pandas as pd
a = [1,2,3]
b = [4,5,6]    
data = pd.DataFrame({'a':a,'b':b})
df=pd.DataFrame(data)
df.to_csv('abc.csv',index=None)

追加

mode=a 此为追加模式,可看下表

import pandas as pd
a = [1,2,3]
b = [4,5,6]    
data = pd.DataFrame({'a':a,'b':b})
df=pd.DataFrame(data)
df.to_csv('abc.csv',index=None,mode='a') 

2.import csv

打开方式功能Note
w若存在内容,原内容会先清空,不存在文件则会新建
w+写读(先写后读)若存在内容,原内容会先清空,不存在文件则会新建
r文件必须存在
r+读写(先读后写)文件必须存在
a追加如存在数据,新数据将添加到结尾,不存在文件则会新建
a+追加如存在数据,新数据将添加到结尾,不存在文件则会新建
wb+二进制方式写读(先写后读)若存在内容,原内容会先清空,不存在文件则会新建
rb+二进制方式读写(先读后写)文件必须存在
ab+二进制方式追加如存在数据,新数据将添加到结尾,不存在文件则会新建

不加newline就会有多余的空行,所以记得添加newline

import csv 
with open('test.csv','r')as f:
    f_csv = csv.reader(f)
    for row in f_csv:
        print(row)

list方式写入

import csv 
with open(path, 'w',newline='') as f:
	writer = csv.writer(f)
	writer.writerow([['a','b'],['c','d']])

字典方式写入

import csv 
dict =[{'name': 'a', 'year': '2'}, 
     {'name': 'b', 'year': '2'} ]
title = ['name', 'year']
with open(path, 'w') as csvfile: 
    writer = csv.DictWriter(csvfile, fieldnames = title) 
    writer.writeheader() 
    writer.writerows(dict)  

追加

import csv 
with open(path, 'a',newline='') as f:
	writer = csv.writer(f)
	writer.writerow(['a','b'])
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值