21天学习python编程_csv文件操作
2021-04-11 08:26
标签:name pre 表格 例子 csv tab zha mini reader 什么是csv文件; 如果看完这篇文章,你还是弄不明白csv文件操作; 一个例子: 写入步骤: 一个案例 结果: csv读写可以指定下面参数: 结果: 很多同学纠结quotechar与quoting使用,我们做一个例子: 结果: csv文件第一行一般为字段名称, 一个例子: 结果: 以上就是csv写入主要操作 csv读取两个方式: 具体操作: 结果: 21天学习python编程_csv文件操作 标签:name pre 表格 例子 csv tab zha mini reader 原文地址:https://blog.51cto.com/huangyg/2512409
csv模块相关操作;
你来找我,我保证不打你,我给你发100的大红包。1. csv文件
col1,col2,col3
v1,v2,v3
......
2. csv文件基本操作:
#导入csv模块
import csv
fpath = r‘test.csv‘
f = open(fpath)
#创建csv reader对象
csvf = csv.reader(f)
#通过for遍历csv文件
for row in csvf:
print(row)
f.close()
3.csv文件写入
3.1 csv.writer写入文件
#导入模块
import csv
fpath = r‘C:\Users\hyg\Desktop\test\1.csv‘
f = open(fpath, ‘w‘)
#创建csv对象
csvw = csv.writer(f)
#写入一行数据
csvw.writerow([1,2,3])
#写入多行数据
csvw.writerows([[3,4,5],[7,8,9]])
#关闭文件
f.close()
1,2,3
3,4,5
7,8,9
3.2 csv相关参数设置
参数
说明
delimiter
列之间分隔符,默认逗号
lineterminator
换行符,默认\r\n
quotechar
特殊字符处理方式,默认使用加双引号
quoting
写文件,控制quotechar行为
quoting参数
说明
csv.QUOTE_NONNUMERIC
非数字加引号
csv.QUOTE_ALL
所有字符加引号
csv.QUOTE_MINIMAL
特殊字段加引号
csv.QUOTE_NONE
都不加引号
#导入模块
import csv
fpath = r‘C:\Users\hyg\Desktop\test\1.csv‘
f = open(fpath, ‘w‘)
#创建csv对象,分隔符指定为|,换行符指定为\n
csvw = csv.writer(f,delimiter=‘|‘,lineterminator=‘\n‘)
#写入一行数据
csvw.writerow([1,2,3])
#写入多行数据
csvw.writerows([[3,4,5],[7,8,9]])
#关闭文件
f.close()
1|2|3
3|4|5
7|8|9
#导入模块
import csv
fpath = r‘C:\Users\hyg\Desktop\test\1.csv‘
f = open(fpath, ‘w‘)
#创建csv对象,分隔符指定为|,换行符指定为\n
csvw = csv.writer(f,delimiter=‘|‘,lineterminator=‘\n‘,quoting=csv.QUOTE_ALL, quotechar=‘\\‘)
#写入一行数据
csvw.writerow([‘1‘,‘|‘,3])
#写入多行数据
csvw.writerows([[3,4,5],[7,8,9]])
#关闭文件
f.close()
\1\|\|\|\3\3\|\4\|\5\7\|\8\|\9\
3.3 以字典方式写入csv
csv.DictWriter可以以字典方式进行写入;
主要方法:
header 1
header 2
csv.DictWriter(f,fieldnames,restval=‘‘,...)
创建DictWriter对象,fieldnames为字段列表
csvw.writeheader()
写入字段
csvw.writerow(rowdict)
写入一行,rowdict为:{k:v,k1:v...}
csvw.writerow(rowdicts)
写入多行,rowdict为:[{k:v},{k:v},...]
#导入模块
import csv
fpath = r‘C:\Users\hyg\Desktop\test\1.csv‘
f = open(fpath, ‘w‘)
#csv字段
fieldnames = [‘name‘,‘score‘]
#写入数据
data = [{‘name‘:‘li‘,‘score‘:80},{‘name‘:‘zhao‘,‘score‘:90}]
#创建csvw对象
csvw = csv.DictWriter(f,fieldnames=fieldnames,lineterminator=‘\n‘)
#写入字段
csvw.writeheader()
#写入数据
csvw.writerows(data)
#关闭文件
f.close()
name,score
li,80
zhao,90
4 csv文件读取
#导入模块
import csv
fpath = r‘C:\Users\hyg\Desktop\test\1.csv‘
f = open(fpath, ‘r‘)
#创建csv读对象,可以指定分隔符等参数
csvr = csv.DictReader(f)
#使用next函数读取一行,格式为字典
print(next(csvr))
#使用for循环读取剩余文件内容
for row in csvr:
print(row)
f.close()
OrderedDict([(‘name‘, ‘li‘), (‘score‘, ‘80‘)])
OrderedDict([(‘name‘, ‘zhao‘), (‘score‘, ‘90‘)])
总结:
文章标题:21天学习python编程_csv文件操作
文章链接:http://soscw.com/index.php/essay/74179.html