python怎么读取表格中的一个数据_表格数据有效性设置

python怎么读取表格中的一个数据_表格数据有效性设置Python 是最流行、功能最强大的编程语言之一。由于它是自由开源的,因此每个人都可以使用。大多数 Fedora 系统都已安装了该语言。Python 可用于多种任务,其中包括处理逗号分隔值(CSV)…

【经验分享】用Python读取电子表格中的数据

python怎么读取表格中的一个数据_表格数据有效性设置

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

为解决初学者学习上的困难,专门建立的Python学习扣QUN:⑧⑤⑤-④零⑧-⑧⑨③从零基础开始到Python各领域的项目实战教程、开发工具与电子书籍。与你分享企业当下对于python人才需求及学好python的高效技巧,不停更新最新教程!

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

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

Name,Email,Country
John Q. Smith,jqsmith@example.com,USA
Petr Novak,pnovak@example.com,CZ
Bernard Jones,bjones@example.com,UK

代码100分

从电子表格读取 CSV

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

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

代码100分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")])]

引用这些对象很容易:

代码100分>>> 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 或许是一种技巧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8557.html

(0)
上一篇 2023-02-26
下一篇 2023-02-26

相关推荐

  • 迁移Report Server DataBase时遇到的坑

    迁移Report Server DataBase时遇到的坑1.项目背景 由于历史原因,公司部分系统的Report是基于SQL Server Report Service搭建的,且Reporting Services 和Report Server DataBa

    2023-04-17
    154
  • 使用Python获取上一级目录

    使用Python获取上一级目录在Python编程中,我们常常需要获取文件或目录的路径。获取当前文件或目录的路径非常简单,只要使用Python内置的os模块就可以轻松完成。但是,有时候我们需要获取上一级目录的路径,这个时候就需要使用一些高级的技巧了。本篇文章就将介绍如何使用Python获取上一级目录的路径。

    2024-09-20
    17
  • CentOS7安装MySQL(完整版)[通俗易懂]

    CentOS7安装MySQL(完整版)[通俗易懂]在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1 下载并安装MySQL官方的 Yum R…

    2022-12-19
    157
  • 使用Python tkinter创建可选按钮

    使用Python tkinter创建可选按钮在GUI编程中,可选按钮是非常常用的一个控件。Python的GUI模块tkinter可以方便地实现可选按钮,用于进行用户输入和操作。可选按钮可以单独使用,也可以与其他控件组合使用,例如用于表示用户选项、选择多项操作或进行过滤等。本文将详细介绍如何使用Python tkinter来创建可选按钮。

    2024-03-05
    82
  • 动态创建数据库模型

    动态创建数据库模型在开发过程中,经常会由用户自主创建模型,然后添加模块内容,这种情况在cms中居多,所以我把几张常规的表给大家列出,帮助大家在以后的开发中可以参考该表来实现该功能。 一,Module表展示视图 mod…

    2022-12-17
    163
  • 初中数学“3.1-1 用字母表示数”说课稿「建议收藏」

    初中数学“3.1-1 用字母表示数”说课稿「建议收藏」尊敬的各位评委老师: 大家好!今天我说课的课题是《用字母表示数》,接下来我将从教材分析,教法和学法,教学过程以及板书设计四个大点对本堂课的教学进行说明。 一:教材分析 这一大点我将从教材地位,教学目…

    2022-12-25
    150
  • 使用Python输出网页标题

    使用Python输出网页标题Python是一种非常流行的编程语言,具有简单易学、语法简洁、可读性强、灵活性高等优点,所以越来越受到程序员和爱好者的欢迎。其中,使用Python输出网页标题是许多人都热衷于学习的标志性功能之一。

    2024-05-14
    68
  • 工作流引擎的测试容器-功能-使用方法-注意事项「建议收藏」

    工作流引擎的测试容器-功能-使用方法-注意事项「建议收藏」关键字 Ccbpm, ccflow,jflow,工作流引擎,工作流引擎测试容器 2.功能说明 工作流的测试容器是为了解决手工模拟人工登录模式下测试繁琐的问题,而开发的一个测试功能,原来手工测试的按钮…

    2023-04-13
    155

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注