网站建设资讯

NEWS

网站建设资讯

Python中怎么读取电子表格的数据

今天就跟大家聊聊有关Python中怎么读取电子表格的数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

我们提供的服务有:网站设计、做网站、微信公众号开发、网站优化、网站认证、岳阳县ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的岳阳县网站制作公司

从电子表格读取 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://njwzjz.com/article/igsjds.html