前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

csv 文件格式的本质是一种以文本存储的表格数据(使用 Excel 工具即可读写 csv 文件)。csv 文件的每行代表一行数据,每行数据中每个单元格内的数据以逗号隔开。

Python 提供了 csv 模块来读写 csv 文件。由于 csv 文件的格式本身比较简单(通常第一行是表头,用于说明每列数据的含义,接下来每行代表一行数据),因此使用 csv 模块读取 csv 文件也非常简单:

创建 csv 模块的读取器。

循环调用 csv 读取器的 next() 方法逐行读取 csv 文件内容即可。next() 方法返回一个 list 列表代表一行数据,list 列表的每个元素代表一个单元格数据。

本节使用的是 2017 年广州天气数据的 csv 文件(数据来源于 http://lishi.tianqi.com/ 网站。下面程序示范了使用 csv 读取器来读取 csv 文件的两行内容。

上面程序中第 7 行代码创建了 CSV 读取器,第 9 行、第 12 行代码各读取文件的一行,其中第 7 行代码会返回 csv 文件的表头数据;第 9 行代码会返回真正的数据。

运行上面程序,可以看到如下输出结果:

['Date', 'Max TemperatureC', 'Min TemperatureC', 'Description', 'WindDir', 'WindForce']

['2017-1-1', '24', '13', '晴', '西南风', '1级']

从上面的输出结果可以看到,该文件的每行包含 6 个数据,分别是日期、最高温度、最低温度、天气情况、风向、风力。

掌握了 csv 读取器的用法之后,下面程序将会使用 Matplotlib 来展示 2017 年 7 月广州的最高气温和最低气温。

上面程序的前半部分代码用于从 csv 文件中读取 2017 年 7 月广州的气温数据,程序分别使用了 dates、highs 和 lows 三个 list 列表来保存日期、最高气温、最低气温。

程序的后半部分代码绘制了两条折线来显示最高气温和最低气温,其中第 31 行代码用于绘制最高气温,第 34 行代码用于绘制最低气温;第 37 行代码控制在两条折线之间填充颜色。程序也对坐标轴、图例进行了简单的设置。

运行上面程序,可以看到如图 1 所示的折线图。

图 1 2017 年7 月广州的气温折线图

程序也可以使用 Pygal 来统计 2017 年广州的天气汇总情况,比如统计出阴天、晴天、多云天和雨天各占多少天。程序会使用 csv 读取器读取 2017 年广州阴天、晴天、多云天和雨天共有多少天,然后将这些数据添加到 pygal.Pie 对象中即可绘制饼图。该程序的代码如下:

上面程序的前半部分代码也是用于从 csv 文件中读取 2017 年广州的天气数据,该程序只读取 csv 文件的数据行的第四列数据(天气描述),并使用 shades、sunnys、cloudys、rainys 分别保存阴天、晴天、多云天和雨天的数据。

上面程序中建了一个 pygal.Pie 对象,该对象就表示一个饼图。接下来向 pygal.Pie 对象添加数据。运行上面程序,可以生成如图 2 所示的饼图。

Python读取csv文件(详解版,看了无师自通)相关推荐

  1. python读取xls文件详解_python3解析excel文件

    一.需要的依赖 : xlrd 二.代码 #coding=utf-8 import xlrd ''' 读取Excel每个sheet的第一列和第二列的值,拼接成json串,写入文件 ''' def res ...

  2. 用Python读取CSV文件的5种方式

    典型的数据集stocks.csv: 一个股票的数据集,其实就是常见的表格数据.有股票代码,价格,日期,时间,价格变动和成交量.这个数据集其实就是一个表格数据,有自己的头部和身体. 第一招:简单的读取 ...

  3. 记录python读取csv文件

    记录一下python读取文件 在做对比实验的过程当中,往往会遇到很多需要从.csv文件中读取数据的情况,因为做深度学习用的是python,所以下面记录一下使用python读取.csv文件的方法. 读取 ...

  4. python导入csv数据例子-使用python读取csv文件快速插入数据库的实例

    如下所示: # -*- coding:utf-8 -*- # auth:ckf # date:20170703 import pandas as pd import cStringIO import ...

  5. python读取csv文件_python3.0读取csv文件

    创建CSV文件,可以打开excel文件,创建表格以后,另存为csv文件(以逗号分隔的文件) 以文本格式打开,发现是用逗号分隔的 用python读取csv文件,首先要引入一个库:csv import c ...

  6. python csv文件复制时的编码问题_使用python读取CSV文件时的编码问题

    尝试使用python读取CSV文件时遇到障碍. 更新:如果只想跳过字符或错误,可以打开文件,如下所示: with open(os.path.join(directory, file), 'r', en ...

  7. php读取大文件详解【OK】

    在php中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file.file_get_contents之类的函数,简简单单的几行代码就能很漂亮 的完成我们所需要的功能.但当所操作的文件是一个比较大的 ...

  8. python获取股指_用Python读取csv文件中的沪深300指数历史交易数据

    保存路径:D:\python\用Python读取csv文件中的沪深300指数历史交易数据 程序名称:readcsvhs300.py: 数据名称:沪深300指数历史交易数据.csv: 开发环境:Win7 ...

  9. python读取csv文件路径正确但报错FileNotFoundError: [Errno 2] No such file or directory

    项目场景: python读取csv文件路径正确但报错FileNotFoundError: [Errno 2] No such file or directory 问题描述: #储存调用表格.数据 #调 ...

  10. python 读取csv文件 和 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position问题...

    python 读取csv文件,无法读取第一列的数据,不知道为什么.以后有时间再来研究 import os import csv import jsonfw = open("data_json ...

最新文章

  1. letswave7中文教程2:脑电数据预处理-通道位置分配
  2. linux版本更新,滚动更新与固定版本Linux之争
  3. 3DSlicer17:Logics
  4. 独家定制「炼丹贴纸」免费送,让你成为实验室最靓的仔
  5. 对vuex的一点理解
  6. 【转】我们到底为了什么钻研技术?
  7. Buying Feed, 2010 Nov (单调队列优化DP)
  8. mysql像plsql一样删除提交_MySQL学习-MySQL内置功能_事务操作
  9. 指定输出路径_新版Creo输入输出配置不用愁,果断收藏本文就对了
  10. 谷歌开源漏洞扫描器“海啸”,专为大型企业服务
  11. 解决Nvidia显卡控制面板闪退问题
  12. 用python写一个地铁线路图_python制作一线城市地铁运行动态图
  13. 刘毅5000词汇_不熟词汇整理_lesson_14 and part_4
  14. Ethereum Swarm bzz 升级
  15. avm2 pcode 学习笔记。高手勿笑
  16. html在360浏览器如何修改字体大小,360浏览器网页中字体大小如何修改
  17. 哈工大计算机学院专业成绩公示,哈工大2009计算机学院录取名单及初试复试成绩排名...
  18. FigDraw 21. SCI文章中绘图之三维散点图 (plot3D)
  19. 企业服务总线Enterprise service bus介绍
  20. Error: Protocol error, got “H“ as reply type byte

热门文章

  1. c语言车辆信息管理系统,用c语言编的车辆管理
  2. 人工智能开启甲骨文整理研究新范式
  3. GetPrivateProfileString C# 读取中文乱码问题
  4. Android开源的精美日历控件,热插拔设计的万能自定义UI,flutter调用原生sdk
  5. 神行千里 游戏蜂窝iOS战舰少女r远征辅助
  6. JVM中程序计数器的作用
  7. 腾讯需要的不是国行NS,它需要的是《动森》
  8. python代码直接关机_Python实现自动关机
  9. 深入解析 Raft 模块在 KaiwuDB 中的优化改造(下)
  10. 张文宇 小型微型计算机系统,车载式小型无人机气动力与动力特性试验测量方法及装置...