iCode小讲堂第一期
Python如何读写CSV文件中的数据
CSV(Comma-Separated Values,CSV)逗号分隔值,是用逗号分隔数据项(也称为字段)的数据交换格式,CSV主要应用于电子表格和数据库之间的数据交换。
Python提供了csv模块用于实现CSV文件的读(reader函数)/写(writer函数)。
reader()函数
语法格式如下:
reader(csvfile, dialect='excel', **fmtparams)
dialect参数是方言,方言提供了一组预定好的格式化参数。
dialect的实际参数是csv.Dialect的子类,csv.Dialect的子类主要有csv.excel类,定义Excel生成的CSV文件的常用属性,它的方言名称是'excel';csv.excel_tab类,定义Excel生成的Tab(水平制表符)分隔文件的常用属性,它的方言名称是'excel-tab';csv.unix_dialect类,定义在UNIX系统上生成的CSV文件的常用属性,即使用'\n'作为行终止符,而Windows下使用'\r\n'作为行终止符,它的方言名称是'unix'。
fmtparams参数可以提供单个格式化参数。
示例代码
import csv
#注意,csv文件的编码是gbk
with open('books.csv','r',encoding='gbk') as rf:
reader=csv.reader(rf,dialect=csv.excel) #此处可以简写为dialect='excel',由于是默认值,也可以省略
for row in reader:
print('|'.join(row))
writer()函数
语法格式如下:
writer(csvfile, dialect='excel', **fmtparams)
示例代码
import csv
with open('books.csv','r',encoding='gbk') as rf:
reader=csv.reader(rf,dialect=csv.excel)
with open('books3.csv','w',newline='',encoding='gbk') as wf: #由于write函数本身会追加换行,open函数本身也默认自带换行,所以使用newline=''使每行数据不进行换行
writer=csv.writer(wf,dialect='excel',delimiter='+') #delimiter是分隔符,默认分隔符使用逗号
for row in reader:
print(row)
print('|'.join(row))
writer.writerow(row)
更多计算机相关内容请关注公众号【iCode编程工作室】