原标题: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”文件,包含了两个上市公司2015-2017年的总资产数据,如下图所示:

我们使用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)必须原创,禁止抄袭;

责任编辑:

python输出csv文件-Python之读取与写入CSV文件相关推荐

  1. matlab读数据写入excel文件路径,MATLAB读取和写入Excel文件

    clc; clear all; [numeric_data text_data rawdata] = xlsread('aaa.xls'); headings = rawdata(1,:)  % ge ...

  2. csv文件python是怎么输入的,python怎么读取和写入csv文件

    Python读取与写入CSV文件需要导入Python自带的CSV模块,然后通过CSV模块中的函数csv.reader()与csv.writer()来进行CSV文件的读取与写入. 写入CSV文件impo ...

  3. [转载] pythonpandas读取csv文件最后一行_简单小案例(一):使用Pandas在Python中读取和写入CSV文件...

    参考链接: 使用Pandas在Python中读写CSV文件 前期文章链接: YOLOv3论文 https://arxiv.org/pdf/1804.02767.pdf 正文: 有许多方法可以在Pyth ...

  4. pythonpandas读取csv文件最后一行_简单小案例(一):使用Pandas在Python中读取和写入CSV文件...

    前期文章链接: YOLOv3论文 https://arxiv.org/pdf/1804.02767.pdf 正文: 有许多方法可以在Python中读写CSV文件.有几种不同的方法,例如,您可以使用Py ...

  5. python csv使用_Python基于csv模块实现读取与写入csv数据的方法

    本文实例讲述了Python基于csv模块实现读取与写入csv数据的方法.分享给大家供大家参考,具体如下: 通过csv模块可以轻松读取格式为csv的文件,而且csv模块是python内置的,不需要下载就 ...

  6. python读取excel内容和写入_Python读取和写入Excel文件

    制作Excel表 常用方法说明 Workbook类 Workbook类创建一个XlswWrite的Workbook对象,相当于创建一个excel表 And_worksheet()用来创建工作表,默认为 ...

  7. python读取txt文件写入-python 读取、写入txt文件的示例

    写入文件 使用open()函数和write()函数 但是有两种写法,分别是'a'和'w' 'a' 表示写入文件 若无该文件会直接创建一个 如果存在这个文件,会接着已有的内容的后面写入 with ope ...

  8. 【python图像处理】txt文件数据的读取与写入

    在使用python进行数据和图像处理的过程中,经常会遇到从txt文件中读取数据.已经将处理过程中的矩阵数据写入到txt文件的情形,如在伪彩映射中读取颜色映射表. 下面介绍几种我平时常用的txt文件数据 ...

  9. python导入mat文件_python读取并写入mat文件的方法

    先给大家介绍下python读取并写入mat文件的方法 用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magic(6); sav ...

最新文章

  1. 不用ajax 后台的异步实现,js 怎么避免重复的异步操作(不问了,目前没办法后台做到,只能改造前端了)...
  2. masm中常用的伪指令
  3. Boost学习之指针容器--pointer_container
  4. 数据结构--二叉查找树 Binary Search Tree
  5. spring boot 整合 谷歌guava的EventBus 实现单机版的消息发布订阅
  6. ga 工具箱 matlab,初识遗传算法之MatlabGA工具箱
  7. java quartz实例_一个非常简单的quartz例子
  8. 金山手机卫士论坛_三星多款手机黑屏系统崩溃 客服:闰4月BUG,无法保证数据不丢失...
  9. 压力测试与负载测试的区别
  10. [MDB] EXP 导入数据库
  11. morphia查询Mongo数据库通过ReadPreference主从数据库查询切换方法
  12. java递归求和 1 n_Java递归求和1+2+3+...+n实例详解
  13. Qt编写输入法终极版V2018
  14. PDF论文--字体未嵌入解决办法
  15. Android 4G 模块添加 TV平台Mstar HISI
  16. python常用正则表达式大全_最全的常用正则表达式大全
  17. 二级域名间相互请求 ajax跨域请求
  18. 1.STM32F103-点亮第一颗LED
  19. android系统开机logo定制
  20. 【C++】Lambda 表达式详解

热门文章

  1. ssh跳板登陆太麻烦,使用expect每次自动登录 利用expect 模拟键盘动作,在闲置时间之内模拟地给个键盘响应...
  2. 算法 - pyhton - 二分查找
  3. [Notes] Bash Shell特性
  4. 微信小程序之生成二维码
  5. 【uoj#164】[清华集训2015]V 线段树维护历史最值
  6. 船长带你看书——《selenium2 python 自动化测试实战》(2)浏览器操作
  7. php 详解spl_autoload_register()函数
  8. 2015/09/09夜晚js继续学习
  9. 对于这个函数const int func(const int a) const声明中,三个const分别是什么意思?...
  10. Swift的数组与OC中数组的区别