问题标签 [jsonlines]

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 投票
2 回答
415 浏览

python - gzip 嵌套字典列表

我有一组.jsonl.gz文件。我可以使用脚本阅读它们:

然后我进行一些处理并获取一些 .json 文件并将它们存储在一个列表中。

我的问题是将它们再次写入的正确方法是什么.jsonl.gz

这是我的尝试

但我得到了这个错误: TypeError: memoryview: a bytes-like object is required, not 'list'

然后我尝试按原样压缩字典列表:

但是这里的问题是将整个列表压缩为一个块,当我读回它时,我得到了一个元素,它是整个存储的列表,而不是我从第一步得到的 json 文件列表。

这是我用来阅读的代码

0 投票
1 回答
444 浏览

json - 如何优化此 Powershell 脚本,将 JSON 转换为 CSV?

我有一个非常大的 JSON 行文件,包含 4.000.000 行,我需要从每一行转换几个事件。生成的 CSV 文件包含 15.000.000 行。如何优化此脚本?

我使用的是 Powershell core 7,完成转换大约需要 50 个小时。

我的 Powershell 脚本:

这是JSON的结构。

0 投票
3 回答
499 浏览

python - 将 jsonl 文件解析成有用的结构

我正在从我的硬盘驱动器导入一个 jsonl 文件并尝试将其转换为可用格式。这是我导入数据的方式。

这会产生这样结构的数据。

基本上我想将此数据转换为字典格式,其中字典值为“id”,其余数据与该字典标签相关联。我相信类似以下内容,但我对 Python 还很陌生,所以我可能会错误地显示它。

0 投票
2 回答
707 浏览

python - 在python3.6中将两个jsonl(json行)文件合并并写入一个新的jsonl文件

您好,我有两个jsonl这样的文件:

one.jsonl

second.jsonl

我的目标是编写一个新jsonl文件(保留编码)名称merged_file.jsonl,如下所示:

我的方法是这样的:

但是我遇到了这个错误: TypeError: Object of type generator is not JSON serializable我会以任何方式感谢您的提示/帮助。谢谢!我查看了其他 SO 存储库,它们都在编写普通的 json 文件,这在我的情况下也应该可以工作,但它一直失败。

像这样读取单个文件有效:

0 投票
1 回答
169 浏览

python - 删除 jsonl 文件末尾的所有 EOF(多余的空行)

我正在使用在 VSCode 编辑器中看起来像这样的 jsonl 文件:

第一个.jsonl

第二个.jsonl

然后还有更多,具有随机数量的结束线/ EOF 标记。我想在每个文件的末尾有单行或空行。raise JSONDecodeError("Expecting value", s, err.value) from Nonejson.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1) 使用这种方法,我不断收到此错误:

我手动删除了一些额外的行,并且能够处理我的 2 个 jsonl 文件。

我看过这些 SO 板:
1>使用 Python 在 json 文件中删除新的换行符。

2>读取文件时用单个换行符替换多个换行符

请给我提示/帮助。我会很感激的!!

我希望每个文件都采用这种格式:first.jsonl

编辑: 我使用了正阳宋的回答和 chepner 的建议我实际上有两个 4gb 文件,这样做:

导致错误line 852, in start _start_new_thread(self._bootstrap, ()) RuntimeError: can't start new thread我在我的个人 Windows 机器上。

编辑 2:我迁移到我的工作机器,我能够解决这个问题。任何输入我们如何在个人机器上防止这种情况?像并行处理??

0 投票
2 回答
680 浏览

python - 从 JSONL 文件中提取嵌套数组

我正在使用 json2csv.py(使用 twarc 编译)从 JSONL 文件中提取额外字段,并且无法提取数组中保存的一些文本字段。这是数组,我希望能够只提取主题标签文本。

我可以使用此代码添加其他没有数组的字段:

但是,我不知道如何拉出数组或其中的元素。可以使用以下retweeted_status.extended_tweet.entities.hashtags.0.text我尝试使用的方法来识别单个主题标签文本:

但这只是返回一个空列。理想情况下,我希望能够将“标签”数组中所有出现的“文本”提取到单个列或单独的列中。

0 投票
1 回答
109 浏览

json - 如何在具有 40 多个复杂字段的 Azure 认知搜索中索引 Json 文件

我有 1GB 的 Json 文件,我正在尝试使用 Azure 认知搜索对其进行索引。在创建索引器的最后一步,我收到一条错误消息:“请求无效。详细信息:无效索引:索引包含 54 个复杂集合字段。一个索引最多可以有 40 个复杂集合字段。”

微软支持也提到这是一个产品限制。

有没有人遇到过这种情况?

0 投票
1 回答
49 浏览

python - 将 slist 转换为 csv

我在 IPython 中运行的 shell 脚本返回以下对象:

results = ['{"url": "https://url.com", "date": "2020-10-02T21:25:20+00:00", "content": "mycontent\nmorecontent\nmorecontent", "renderedContent": "myrenderedcontent", "id": 123, "username": "somename", "user": {"username": "somename", "displayname": "some name", "id": 123, "description": "my description", "rawDescription": "my description", "descriptionUrls": [], "verified": false, "created": "2020-02-00T02:00:00+00:00", "followersCount": 1, "friendsCount": 1, "statusesCount": 1, "favouritesCount": 1, "listedCount": 1, "mediaCount": 1, "location": "", "protected": false, "linkUrl": null, "linkTcourl": null, "profileImageUrl": "https://myprofile.com/mypic.jpg", "profileBannerUrl": "https://myprofile.com/mypic.jpg"}, "outlinks": [], "outlinks2": "", "outlinks3": [], "outlinks4": "", "replyCount": 0, "retweetCount": 0, "likeCount": 0, "quoteCount": 0, "conversationId": 123, "lang": "en", "source": "<a href=\\"mysource.com" rel=\\"something\\">Sometext</a>", "media": [{"previewUrl": "smallpic.jpg", "fullUrl": "largepic.jpg", "type": "photo"}], "forwarded": null, "quoted": null, "mentionedUsers": [{"username": "name1", "displayname": "name 1", "id": 345, "description": null, "rawDescription": null, "descriptionUrls": null, "verified": null, "created": null, "followersCount": null, "friendsCount": null, "statusesCount": null, "favouritesCount": null, "listedCount": null, "mediaCount": null, "location": null, "protected": null, "linkUrl": null, "link2url": null, "profileImageUrl": null, "profileBannerUrl": null}]}', ...]

...表示与前一个类似的更多条目。根据 type(),这是一个 slist。根据上述shell脚本的文档,这是一个jsonlines文件。

最终,我想将其转换为 csv 对象,其中键是列,值是值,其中每个条目(如上所示)是一行。所以像:

我已经尝试过这里提出的解决方案,但我收到了一个带有键值对的数据框,如下所示:

0 投票
2 回答
596 浏览

json - 如何将 JSON 转换为 JSON 行

我是 JavaScript 新手。我正在构建一个对象数组。我需要对其进行字符串化,去掉方括号,并将每个对象拆分为“,”并换行。

需要从:

对此:

0 投票
1 回答
127 浏览

python - How to JSONL serialize sets in YAML style?

There are the three well-known format:

It is well-known, that

I want to serialize (and unserialize) Python set (maybe other object as well) into one line (JSON or YAML does not matter), just like JSONL + custom encoder/decoder would do, but in a way that is human readable (like repr() in Python, see example below) (and possibly compliant with YAML). I would also like to keep all other functionalities and avoid workarounds.

Do I have to write my own custom encoder or there are some better/existing solution? (e.g. parameter to yaml.dump() to do it in one line) What would be the most robust way to implement the example below?

E.g.:

UPDATE: I have linked answers showcasing monkey patched JSONEncoder making set() (and other types) serializable using pickle, which is not human readable, therefore they do not answer this question. If these kinds of answers were good without modification, this question would be duplicate to the cited ones.