问题标签 [petl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
102 浏览

python - 使用带有半结构化数据的 Python,如何根据前一行中遇到的文本添加列值

我正在尝试将一些数据转换为结构化格式并进行较小的转换。源代码是一个 .csv 文件,它实际上是半结构化的,如下所示:

在此处输入图像描述

我希望输出的结果数据看起来像这样,如果该方法搜索文字文本“事物”就可以了

在此处输入图像描述

我不偏爱实施,但环顾了 petl 和 pandas 却没有成功。你会如何解决这个问题?

0 投票
0 回答
37 浏览

python - 如何在 lambda 中使用 Python petl 和 boto3 库写入 S3 存储桶?

我对python很陌生。我们正在做一个小项目,我们只是在查询一个表并希望将其作为 json 文件写入 S3 存储桶。

我已经让这些部分分开工作,即查询数据库并将其写入带有 petl 的 json 文件。

然后我用 boto 单独将此文件写入 s3 存储桶:

工作正常。它让他们在我卡住的 lambda 环境中一起工作。我最初认为我不能将本地文件用作临时文件,但后来了解到 lambda 应该有一些本地文件空间和写入能力。但是当我用中间的“data.json”文件大致尝试上面的代码时,我得到了这个错误:

[Errno 30] Read-only file system: 'data.json'

我还尝试了以下方法:

但我只是收到一条错误消息“没有这样的文件或目录”。

我一定遗漏了一些基本的东西,但问题似乎是,我需要 etl 将表格写成 json 格式的字符串。然后我想做 s3.put_object 或 s3.Object().put() body=jsonString。但我不知道该怎么做。

我一直在浏览 petl docs并尝试了一些不同的东西,但没有任何效果。

也曾短暂尝试让 petl 写入某种 IOBytes 数组,但不记得是如何失败的。此处记录了 petl 的“源”表。它们基本上是某种可迭代的,包括作为第一行的标题行,然后是数据行。

0 投票
2 回答
89 浏览

python - 想要从 csv 文件创建键值对列表但无法

我想用 /getService 路由的输出创建一个键值对列表。

我能够从 csv 文件 vet_service_locations 中过滤我想要的数据(郊区和服务),但希望将其作为键值对。关键是郊区,服务和价值将是相关的输出。

我是初学者,尝试了不同的方法,但似乎没有任何效果。

Vet_service_location.csv 数据图像在此链接中

我得到的输出

我想要的输出

所以,有点像表格,与 vet_service_locations.csv 的结构相同。

0 投票
1 回答
63 浏览

python - Python 或 PETL 解析 XML

我一直在玩 PETL,看看是否可以提取多个 xml 文件并将它们合并为一个。

我无法控制 XML 文件的结构,这是我看到的变化,这给我带来了麻烦。

XML 文件 1 示例:

XML 文件 2 示例:

我的 python 代码只是扫描子文件夹 xmlfiles,然后尝试使用 PETL 从那里解析。根据文档的结构,到目前为止,我正在加载三个表:

1 保存信息名称和日期 2 保存描述并键入 3 收集详细信息

我将这三个表连接起来,因为我希望每一行的 Info 和 App 数据都包含每个细节。这一直有效,直到我得到一个包含多个 DetailOne 和 DetailTwo 元素的 XML 文件。

我得到的结果是:

结果:

结果:

显示 DetailOne 为 ('1','3') 和 DetailTwo 为 ('2', '4') 的第二个文件不是我想要的。

我想要的是:

我相信 XPath 可能是要走的路,但经过研究:

https://petl.readthedocs.io/en/stable/io.html#xml-files - 没有深入了解 lxml 和 petl

这里有一些简单的阅读: https ://www.w3schools.com/xml/xpath_syntax.asp

更多阅读: https ://lxml.de/tutorial.html

对此的任何帮助表示赞赏!

0 投票
1 回答
309 浏览

python-3.x - 警告:numpy 解析要求时出错:[Errno 2] 没有这样的文件或目录:

我正在努力安装图书馆。不过,我之前没有收到此错误。

我收到警告:解析 numpy 的要求时出错:[Errno 2] 没有这样的文件或目录:无论我使用 Jupyter 笔记本还是终端,都会发生此错误。

输出和警告

`要求已经满足:./opt/anaconda3/lib/python3.7/site-packages (1.7.4) 中的 petl

警告: numpy 解析要求时出错:[Errno 2] 没有这样的文件或目录:'/Users/jeffreyoruru/opt/anaconda3/lib/python3.7/site-packages/numpy-1.19.5.dist-info/METADATA`

请让我知道该怎么做或检查。

0 投票
1 回答
33 浏览

python - 如何将文本数据从响应对象加载到数据框中

我正在尝试将 curl 请求转换为 get-request 以提取一些工作数据并将其传输到具有参数化文件名的本地文件夹。一个问题是数据只是文本格式,即使尝试了多种方法,也不会转换为 JSON。根据响应,数据类型为“text/tsv;charset=utf-8”。

下一个问题是我无法将数据加载到数据框中,部分原因是我是 Python 新手,不了解这样做的各种方法,部分原因是格式化使找到适用的解决方案变得更加困难。但是,我至少能够使用 splitlines() 方法将文本分成列表。但不幸的是,我仍然无法将列表加载到数据框中。截至上次运行,错误消息是:“错误:无法连接类型为 '<class '_csv.reader'>' 的对象;只有 Series 和 DataFrame objs 有效。”

0 投票
0 回答
31 浏览

python - 如何使带有大写标题的 Petl 附加到 PostgreSQL 表小写标题

我在 Python 中有这个 petl 表,我想连接到本地 PostgreSQL 数据库。但是一些 petl 表头是大写的。例如,ID 不是 id。

我意识到当我尝试将表附加到 PostgreSQL 时,无法识别标题。

错误代码:column "UPPERCASE_HEADER" of relation "sql_table" does not exist

在成功将表附加到 SQL 之前,我必须将 petl 表头更改为小写。

但是如果我想将标题保留为大写,有没有办法仍然附加到 PostgreSQL 表?因为 PostgreSQL 表头总是小写的。

0 投票
0 回答
10 浏览

python-3.x - PETL - 按降序排序

我在对以下代码进行排序时遇到问题:

  1. 我首先用 etl 导入了数据框

  2. 我检查了“数量”列是否为数字(原始数据存在无数错误)

  3. 我按最大数量对“数量”列进行了排序(我尝试使用“最大”但它不起作用 - 不知道为什么)

  4. 我应该按递减顺序排序,我尝试了一堆不同的组合,但没有运气。

我想知道为解决这个问题而选择的步骤是否正确,或者我在语法中遗漏了一些东西......非常感谢任何帮助,谢谢!