如何使用Python读取电子表格的数据
这篇文章主要介绍“如何使用Python读取电子表格的数据”,在日常操作中,相信很多人在如何使用Python读取电子表格的数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Python读取电子表格的数据”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
10余年的皇姑网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整皇姑建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“皇姑网站设计”,“皇姑网站推广”以来,每个客户项目都认真落实执行。
从电子表格读取 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 DictReaderd = 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 DictReaderfrom 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读取电子表格的数据
标题网址:http://ybzwz.com/article/jcpsoe.html