1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python输出csv文件-Python之读取与写入CSV文件

python输出csv文件-Python之读取与写入CSV文件

时间:2023-07-22 01:03:17

相关推荐

python输出csv文件-Python之读取与写入CSV文件

原标题:Python之读取与写入CSV文件

本文作者:闫续文

文字编辑:张梦婷

技术总编:张学人

有问题,不要怕!访问

CSV(Comma-Separated Values)格式是电子表格和数据库最常用的导入和导出格式,其文件以纯文本形式存储表格数据(数字和文本)。CSV文件由任意数目的记录组成,记录间以某种符号分隔,最常见的是逗号或制表符。CSV文件虽然使用广泛,但目前还没有一个标准化的格式描述,缺乏明确定义的标准意味着由不同应用程序生成和使用的数据通常存在细微差别,而这些差异往往会使处理来自多个源的CSV文件变得相当烦人。

然而,尽管分隔符和引用字符各不相同,但由于CSV文件的总体格式足够相似,因此,Python内置了专门的csv模块,方便用户对CSV文件进行操作,如可以读取和写入CSV文件、自定义编码风格等。今天我们就来介绍如何使用csv模块读取和写入CSV文件。

读取CSV文件

csv.reader(csvfile,dialect='excel',**fmtparams)

参数说明:

csvfile:必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象;

dialect:编码风格,默认为excel即逗号(,)分隔,也支持制表符(tab)分隔及自定义;

fmtparam:格式化参数,用来覆盖之前dialect对象指定的编码风格。

现在我们有一个“file.csv”文件,包含了两个上市公司-的总资产数据,如下图所示:

我们使用csv.reader()读取该文件,程序如下:

importcsv #导入csv模块

withopen( 'd:file.csv', 'r', encoding= 'utf-8') ascsvFile: #以只读方式打开"file.csv"文件并返回文件对象"csvFile"reader =csv.reader(csvFile) #只上传第一个参数"csvFile",剩下两个采用缺省设定forrow inreader: #输出"reader"中的每行数据print(str(row))

我们运行这段程序,输出结果如下:

可以看到,reader()返回的对象reader把读取到的每一行数据转化成了一个list,list中每个元素是一个字符串。

注:参数newline用来控制文本模式之下一行的结束字符。在windows这种使用rn的系统里,如果不使用newline='',会自动在行尾多添加一个r,导致多出一个空行,即行尾为rrn。

写入并生成CSV文件

csv.writer(csvfile,dialect='excel',**fmtparams)

参数含义同上这里不再赘述,我们使用csv.reader()来写入“北京”、“武汉”、“上海”三个城市的天气状况,程序如下:

importcsvweather = [[ '北京', '多云', '6℃', '19℃'],[ '武汉', '小雨', '15℃', '23℃'],[ '上海', '多云', '17℃', '23℃']]

withopen( 'd:file1.csv', 'w', encoding= 'utf-8', newline= '') as csvFile: #打开一个文件"file1.csv"用于写入(若该文件存在则打开文件并从开头开始编辑,若不存在则创建新文件)并返回文件对象"csvFile"writer =csv.writer(csvFile, delimiter= ' ') #通过参数delimiter设置分隔符为空格forrow inweather: #一行一行写入weather列表中的元素writer.writerow(row)

我们打开生成的“file1.csv”文件,如下图所示:

可以看到,由于我们设置delimiter=' ',生成的CSV文件中每一行的元素都是以空格进行分隔的。

关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

1)必须原创,禁止抄袭;

责任编辑:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。