CSV文件存储

CSV,全称为Comma-Separated Values,中文可以叫做逗号分隔值或字符分隔值,其文件以纯文本形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分隔。每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或者制表符。不过所有记录都有完全相同的字段序列,相当于一个结构化表的纯文本形式。它比Excel文件更为简洁,XLS文本是电子表格,它包含了文本、数值、公式和数据等内容,而CSV中不包含这些内容,就是特定字符分隔的纯文本,结构简单清晰。所以,有时候用CSV来保存数据是比较方便的。本节中,我们来讲解Python读取和写入CSV文件的过程。

写入这里首先来看一个最简单的例子:

首先,打开data.csv文件,然后指定打开的模式为w(即写入),获得文件句柄,随后调用csv库的writer( )方法初始化写入对象,传入该句柄,然后再调用writerow( )方法传入每行的数据即可完成写入。

运行结束之后,会生成一个名为data.csv的文件,此时数据就成功写入了。直接以文本形式打开的话,其内容如下:

可以看到,写入的文本默认以逗号分隔,调用一次writerow( )方法即可写入一行数据。用Excel打开的结果如下所示:

如果想要修改列与列之间的分隔符,可以传入delimiter参数,其代码如下:

这里在初始化写入对象时传入delimiter为空格,此时输出结果的每一列就是以空格分隔了,内容如下:

另外,我们也可以调用writerows( )方法同时写入多行,此时参数就需要为二维列表,例如:

输出效果是相同的,内容如下:

但是一般情况下,爬虫爬取的都是结构化的数据,我们一般会用字典来表示。在csv库中也提供了字典的写入方式,示例如下:

这里先定义3个字段,用fieldnames表示,然后将其传给DictWriter来初始化一个字典写入对象,接着可以调用writeheader( )方法先写入头信息,然后再调用writerow( )方法传入相应的字典即可。最终写入的结果是完全相同的,内容如下:

这样就可以完成字典到CSV文件的写入了。

另外,如果想追加写入的话,可以修改文件的打开模式,即将open( )函数的第二个参数改为a,代码如下:

这样在上面的基础上再执行这段代码,文件内容便会变成:

如果要写入中文内容的话,可能会遇到字符编码的问题,此时需要给open( )参数指定编码格式。比如,这里写入一行包含中文的数据,代码需要改写如下:

这里需要给open( )函数指定编码,否则可能会发生编码错误。

另外,如果接触过pandas等库的话,可以调用DataFrame对象的to_csv( )方法来将数据写入CSV文件中。

读取

我们同样可以使用csv库来读取CSV文件。例如,将刚才写入的文件内容读取出来。相关代码如下:

运行结果如下:

这里我们构造的是Reader对象,通过遍历输出了每行的内容,每一行都是一个列表形式。注意,如果CSV文件中包含中文的话,还需要指定文件编码。

python爬取数据保存为csv时生成编号_将爬取到到数据以CSV格式存储相关推荐

  1. python爬取json数据_Python爬取数据保存为Json格式的代码示例

    python爬取数据保存为Json格式 代码如下: #encoding:'utf-8' import urllib.request from bs4 import BeautifulSoup impo ...

  2. python爬虫-豆瓣爬取数据保存为html文件

    接<python爬虫-豆瓣数据爬取-正则匹配>中的案例五,将爬取的豆瓣租房信息网址和标题保存为html文件. 脚本修改如下: # -*-coding:utf-8 -*- import re ...

  3. 【python】数据分析绘制疫情图(爬取数据+保存Excel+echart绘制地图)

    数据分析师工作中常规流程一般是:数据获取.数据处理.数据分析展示等. 本篇通过国内疫情数据实现数据从爬取到展示的过程. 介绍 py版本:python 3.8 目标绘制全国疫情图. 思路 通过以下三个方 ...

  4. python爬取数据保存为txt格式

    #encoding:'utf-8' import urllib.request from bs4 import BeautifulSoup import os import time #找到网址 de ...

  5. python数据保存为txt_python爬取数据保存为txt格式

    #encoding:'utf-8' import urllib.request from bs4 import BeautifulSoup import os import time #找到网址 de ...

  6. python pandas 把数据保存成csv文件,以及读取csv文件获取指定行、指定列数据

    文章目录: 1 数据说明 2 把数据集文件信息使用python pandas保存成csv文件 3 使用python pandas 读取csv的每行.每列数据 1 数据说明 1.在test_data目录 ...

  7. python自动登录网站爬取数据_Python爬虫实战:自动化登录网站,爬取商品数据

    前言 随着互联网时代的到来,人们更加倾向于互联网购物.某东又是电商行业的巨头,在某东平台中有很多商家数据.今天带大家使用python+selenium工具获取这些公开的商家数据 适合阅读人群:sele ...

  8. python如何读取数据保存为新格式_python,初学者应用实例:读取文件中的数据,将将北京时间转换成世界时间,再保存成新的CSV格式文件...

    数据格式转换是科研工作中经常需要完成的任务.本程序实现了这个功能.将文本文件"TableS1.dat"中的数据读取,原文件格式为: No Date Time Mag Dis 119 ...

  9. python怎么爬取知乎回答并制作词云_爬虫|爬取微博动态

    ​ 爬取微博是爬虫新手入门项目,相对简单.但没想到还是遇到了些问题.. 0 踩点 老规矩第一步先踩点.某个用户的微博网址为:https://weibo.com/u/id,其中id是一长串数字,每个用户 ...

最新文章

  1. DongLiORM 第二次更新
  2. 可视化Linux性能监控
  3. 《疯狂Java讲义》10
  4. 【Java】6.6 Java 8 改进的结构
  5. selenium学习笔记(一)
  6. em算法怎么对应原有分类_[PRML]序列数据 HMM维特比算法及扩展
  7. 访问对象的属性,你知道有哪些方法?
  8. 同事:别加班了,今天可是你们1024程序员节啊!
  9. 计算机应用基础教学反思与改进,中职《计算机应用基础》课程教学反思
  10. 宁波大学计算机应用技术考研,宁波大学2021年计算机考研拟录取数据分析
  11. python 移动平均函数_python – NumPy版本的“指数加权移动平均线...
  12. matlab 十进制转格雷码,格雷码与二进制的转换程序
  13. 人机交互-13-复习总览
  14. kubernetes【工具】kind【1】入门实践
  15. Adobe Photoshop CC 2017图文安装教程,附下载地址
  16. 软硬件学习记录5—— Verilog语言中的数据类型
  17. studio 3t注册码脚本
  18. python,list元素倒置
  19. MN梦奈宝塔主机系统V1.5版本发布
  20. 基于Python机器学习对某地区房地产数据分析预测报告

热门文章

  1. RabbitMQ的5种队列_消息确认模式_入门试炼_第6篇
  2. flowable 账号密码加密
  3. Jenikns新建节点、配置节点、新建任务、配置任务、脚本验证
  4. SpringCloud整合nacos服务时无法发现服务
  5. adb-获取包名/界面名、获取app启动时间、卸载app、退出app、查看所有进程
  6. Nginx相关 解决nginx反向代理后页面上的js/css文件无法加载
  7. Java中数组的打印
  8. 远程服务器 上传公钥,SecureCRT+Ubuntu SSH服务器的远程公钥登陆
  9. java管理员登录_idea实现管理员登录javaweb
  10. BugkuCTF-WEB题需要管理员