Python 是最流行、功能最强大的编程语言之一。由于它是自由开源的,因此每个人都可以使用。大多数 Fedora 系统都已安装了该语言。Python 可用于多种任务,其中包括处理逗号分隔值(CSV)数据。CSV文件一开始往往是以表格或电子表格的形式出现。本文介绍了如何在 Python 3 中处理 CSV 数据。

这里要注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果如果你没有python入门到高级实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,里面很多新python教程项目,还可以跟老司机交流讨教!

CSV 数据正如其名。CSV 文件按行放置数据,数值之间用逗号分隔。每行由相同的字段定义。简短的 CSV 文件通常易于阅读和理解。但是较长的数据文件或具有更多字段的数据文件可能很难用肉眼解析,因此在这种情况下计算机做得更好。

这是一个简单的示例,其中的字段是 Name、Email 和 Country。在此例中,CSV 数据将字段定义作为第一行,尽管并非总是如此。

Name,Email,Country

John Q. Smith,jqsmith@example.com,USA

Petr Novak,pnovak@example.com,CZ

Bernard Jones,bjones@example.com,UK

复制代码

从电子表格读取 CSV

Python 包含了一个 csv 模块,它可读取和写入 CSV 数据。大多数电子表格应用,无论是原生(例如 Excel 或 Numbers)还是基于 Web 的(例如 Google Sheet),都可以导出 CSV 数据。实际上,许多其他可发布表格报告的服务也可以导出为 CSV(例如,PayPal)。

Python csv 模块有一个名为 DictReader 的内置读取器方法,它可以将每个数据行作为有序字典 (OrderedDict) 处理。它需要一个文件对象访问 CSV 数据。因此,如果上面的文件在当前目录中为 example.csv,那么以下代码段是获取此数据的一种方法:

f = open('example.csv', 'r')

from csv import DictReader

d = DictReader(f)

data = []

for row in d:

data.append(row)

复制代码

现在,内存中的 data 对象是 OrderedDict 对象的列表:

[OrderedDict([('Name', 'John Q. Smith'),

('Email', 'jqsmith@example.com'),

('Country', 'USA')]),

OrderedDict([('Name', 'Petr Novak'),

('Email', 'pnovak@example.com'),

('Country', 'CZ')]),

OrderedDict([('Name', 'Bernard Jones'),

('Email', 'bjones@example.com'),

('Country', 'UK')])]

复制代码

引用这些对象很容易:

>>> print(data[0]['Country'])

USA

>>> print(data[2]['Email'])

bjones@example.com

复制代码

顺便说一句,如果你需要处理没有字段名标题行的 CSV 文件,那么 DictReader 类可以让你定义它们。在上面的示例中,添加 fieldnames 参数并传递一系列名称:

d = DictReader(f, fieldnames=['Name', 'Email', 'Country'])

复制代码

真实例子

我最近想从一长串人员名单中随机选择一个中奖者。我从电子表格中提取的 CSV 数据是一个简单的名字和邮件地址列表。

幸运的是,Python 有一个有用的 random 模块,可以很好地生成随机值。该模块 Random 类中的 randrange 函数正是我需要的。你可以给它一个常规的数字范围(例如整数),以及它们之间的步长值。然后,该函数会生成一个随机结果,这意味着我可以在数据的总行数范围内获得一个随机整数(或者说是行号)。

这个小程序运行良好:

from csv import DictReader

from random import Random

d = DictReader(open('mydata.csv'))

data = []

for row in d:

data.append(row)

r = Random()

winner = data[r.randrange(0, len(data), 1)]

print('The winner is:', winner['Name'])

print('Email address:', winner['Email'])

复制代码

显然,这个例子非常简单。电子表格本身包含了复杂的分析数据的方法。但是,如果你想在电子表格应用之外做某事,Python 或许是一种技巧!

最后注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果如果你没有python入门到高级实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,里面很多新python教程项目,还可以跟老司机交流讨教!

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

python怎么读取表格中的数据_如何用Python读取电子表格中的数据,面试必学相关推荐

  1. python向数据库写入数据_如何用Python向Mysql中插入数据

    我们使用Python经常会和Postgresql进行搭配,很少将python和mysql进行搭配.下面小编给大家分享如何用Python向Mysql中插入数据. 工具/原料 Pycharm 方法/步骤 ...

  2. python找不到文件数据_如何用 Python 正确读取资源文件

    我们知道,当你把一个资源文件和一个.py文件放在一起的时候,你可以直接在这个.py文件中,使用文件名读取它.例如: 运行效果如下图所示: 但请注意,这里我是直接运行的read.py这个文件.如果资源文 ...

  3. python在工作中怎么用_如何用python在工作中“偷懒”

    原标题:如何用python在工作中"偷懒" "偷懒还能干完活,才是本事 " 有些朋友在工作中会有这样的困惑:明明我从早忙到晚,为什么得到的评价还不高? 要知道, ...

  4. python如何读dat数据_如何用Python进行数据质量分析

    概述 数据挖掘的第一步工作是数据准备,而数据准备的第一步就是数据质量分析了.本篇文章着重介绍如何使用Python进行数据质量分析的初步工作,属于比较基础的入门教程. 为什么要进行数据质量分析 根据百度 ...

  5. python 如何批量提取文件中的字符_如何用Python批量提取PDF文本内容?

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...

  6. 怎么用python分析数据_如何用python进行数据分析?

    .Python数据分析流程及学习路径 数据分析的流程概括起来主要是:读写.处理计算.分析建模和可视化四个部分.在不同的步骤中会用到不同的Python工具.每一步的主题也包含众多内容. 根据每个部分需要 ...

  7. python 处理大量数据_如何用python处理大量数据

    一般来说,用pandas处理小于100兆的数据,性能不是问题.当用pandas来处理100兆至几个G的数据时,将会比较耗时,同时会导致程序因内存不足而运行失败. 当然,像Spark这类的工具能够胜任处 ...

  8. python爬实时数据_如何用python爬取实时更新的动态数据?

    爬虫实时更新 互联网是绝对豪爽的数据源.不幸的是,倘若没有轻易构制的CSV文献可供下载和说明,则绝大部门.倘若要从很众网站拘捕数据,则必要测验举办收集抓取. 倘若您照样一个初学者,请不要忧愁-正在数据 ...

  9. 如何用python整理数据_如何用python实现对数据库的整理

    展开全部 先花点时间来说说一个程序怎么和数e68a843231313335323631343130323136353331333361303131据库进行交互 1.和数据库建立连接 2.执行sql语句 ...

  10. 'python program'.count('p')的值是_如何用Python分析泰坦尼克号生还率?

    原标题:如何用Python分析泰坦尼克号生还率? 1912年当时世界上最大的豪华客轮泰坦尼克号在处女航中撞上冰山沉没,船上船员及乘客共有2224人,只有710人生还.当灾难突然降临时,所有人的生死瞬间 ...

最新文章

  1. C#-datagridview隐藏行头
  2. 五、RabbitMQ的消息属性(读书笔记)
  3. PCM设备能在公网使用吗?
  4. 如何使用Python操作MySQL数据库
  5. ArcGIS线转面的方法
  6. 梯度下降法快速教程 | 第三章:学习率衰减因子(decay)的原理与Python实现
  7. Java之注解的定义及使用
  8. mysql无法输入数据库_关于mysql数据库无法录入中文的问题
  9. 【PAT乙】1065 单身狗 (25分)
  10. 景观设计建模中最常用的SU插件有哪些?
  11. Hadoop 核心概念解析
  12. 树莓派网络摄像头远程监控
  13. mariadb镜像使用教程(一)
  14. 学生成绩管理系统(JAVA_GUI+Mysql)
  15. edge microsoff 连不上网_win10电脑连不上网的三种解决方法
  16. 计算机图片颜色是红色怎么办,电脑变色是怎么回事?(有图片)
  17. 基于哈工大LTP句子主干提取
  18. 淘宝宝贝标题优化2个字:日增10000个IP访问
  19. 响铃:智能微投兴起,卧室影院会成为真正的爆发点吗?
  20. 日本网红摩托车小姐姐,居然是50岁中年大叔

热门文章

  1. 配置Pod的liveness和readiness探针
  2. 搭建p2p文件服务器,p2p服务器搭建
  3. python调试神器snoop,让你告别print
  4. “非著名相声演员”郭德纲【ZZ】
  5. python语音转文字软件_免费的语音转文字电脑版软件-批量语音转文字小工具(不限时长)下载V1.1完全免费版-西西软件下载...
  6. 大学英语四六级往年成绩查询+成绩单补办教程(四级/六级/4级/6级/46级)
  7. Ubuntu下交叉编译Qt库并移植至ARM板上
  8. 《平台战略:正在席卷全球的商业模式革命》有感
  9. 66个求职应聘技巧性问答(三)
  10. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落