我试图在Python中加载和解析JSON文件.但是我一直试图加载文件:
import json
json_data = open('file')
data = json.load(json_data)
Run Code Online (Sandbox Code Playgroud)
产量:
ValueError: Extra data: line 2 column 1 - line 225116 column 1 (char 232 - 160128774)
Run Code Online (Sandbox Code Playgroud)
我看了18.2.json
- Python文档中的JSON编码器和解码器,但阅读这些看起来很糟糕的文档非常令人沮丧.
我有一个大的json文件,它是Newline-delimited JSON,其中多个标准JSON对象由额外的换行符分隔,例如
{'name':'1','age':5}
{'name':'2','age':3}
{'name':'3','age':6}
Run Code Online (Sandbox Code Playgroud)
我现在在node.js中使用JSONStream来解析一个大的json文件,我使用JSONStream的原因是因为它基于流.
但是,示例中的两个解析语法都无法帮助我在每行中使用分隔的JSON解析此json文件
var parser = JSONStream.parse(**['rows', true]**);
var parser = JSONStream.parse([**/./**]);
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我
我想在 python 中加载一个 JSONL 文件作为 JSON 对象。有没有简单的方法来做到这一点?
我不知道如何使用 Python3 创建JSONL。
test = [{'a': 'b'}, {'a': 'b'}, {'a': 'b'}]
with open("data.json", 'w') as f:
for item in test:
json.dump(item, f)
with open("data.json") as f:
for line in f:
// only 1 line here!
print(line)
// prints
{"a": "b"}{"a": "b"}{"a": "b"}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用缩进选项进行转储,但似乎没有什么不同,并且分隔符选项似乎不是一个很好的用例。不确定我在这里缺少什么?
我的请求听起来微不足道,但我找不到办法.我输入了一个JSON对象数组:
[
{
"foo": 1,
"bar": 2
},
{
"foo": 3,
"bar": 4
},
(...)
]
Run Code Online (Sandbox Code Playgroud)
我想要输出相同的JSONL版本,即每行一个对象,而不是数组:
{ "foo": 1, "bar": 2 }
{ "foo": 3, "bar": 4 }
(...)
Run Code Online (Sandbox Code Playgroud)
这是不一样的使用--compact-output
,因为这将保护阵列,并给我:
[ { "foo": 1, "bar": 2 }, { "foo": 3, "bar": 4 }, (...) ]
Run Code Online (Sandbox Code Playgroud)
先感谢您.
我需要将熊猫数据框转换为 JSONL 格式。我找不到一个好的包来做它并尝试自己实现,但它看起来有点丑陋且效率低下。
例如,给定一个熊猫 df:
label pattern
0 DRUG aspirin
1 DRUG trazodone
2 DRUG citalopram
Run Code Online (Sandbox Code Playgroud)
我需要转换为格式的txt文件:
{"label":"DRUG","pattern":[{"lower":"aspirin"}]}
{"label":"DRUG","pattern":[{"lower":"trazodone"}]}
{"label":"DRUG","pattern":[{"lower":"citalopram"}]}
Run Code Online (Sandbox Code Playgroud)
我尝试过to_dict('records')
,但我缺少[ ]
并嵌套了“下”键。
df.to_dict('record')
Run Code Online (Sandbox Code Playgroud)
创建:
[{'label': 'DRUG', 'pattern': 'aspirin'},
{'label': 'DRUG', 'pattern': 'trazodone'},
{'label': 'DRUG', 'pattern': 'citalopram'}]
Run Code Online (Sandbox Code Playgroud)
我想过转换“模式”列并包含嵌套的“较低”?
UPD
到目前为止,我成功地将“模式”转换为列表:
df_new = pd.concat((df[['label']], df[['pattern']].apply(lambda x: x.tolist(), axis=1)), axis=1)
df_new.columns = ['label', 'pattern']
df_new.head()
Run Code Online (Sandbox Code Playgroud)
结果:
label pattern
0 DRUG [aspirin]
1 DRUG [trazodone]
2 DRUG [citalopram]
Run Code Online (Sandbox Code Playgroud)
进而:
df_new.to_dict(orient='记录')
[{'label': 'DRUG', 'pattern': ['aspirin']},
{'label': 'DRUG', 'pattern': ['trazodone']},
{'label': 'DRUG', …
Run Code Online (Sandbox Code Playgroud) 我有一个可以在每行输出JSON记录的工具,我想使用进行处理jq
。
输出看起来像这样:
{"ts":"2017-08-15T21:20:47.029Z","id":"123","elapsed_ms":10}
{"ts":"2017-08-15T21:20:47.044Z","id":"456","elapsed_ms":13}
Run Code Online (Sandbox Code Playgroud)
当我将其传递给jq
以下内容时:
./tool | jq 'group_by(.id)'
Run Code Online (Sandbox Code Playgroud)
...它输出一个错误:
jq: error (at <stdin>:1): Cannot index string with string "id"
Run Code Online (Sandbox Code Playgroud)
如何jq
处理每行JSON记录数据?
首先,我刚接触jq
,就像1天新,我也是JSON的新手,我是一个SQL家伙,所以我学得很快,但无法理解这个...所以请耐心等待我.
我在PowerShell上使用jq v1.5运行Windows.
我下载了多个JSON文件,它们看起来像这样:
{"Header":{"AssetClass":"Commodities","InstrumentType":"Forward","UseCase":"Forward","Level":"InstRefDataReporting"},"Attributes":{"NotionalCurrency":"EUR","ExpiryDate":"2018-01-01","ReturnorPayoutTrigger":"Contract for Difference (CFD)","DeliveryType":"CASH","BaseProduct":"AGRI","TransactionType":"FUTR","FinalPriceType":"ARGM","ReferenceRate":"10PPM ULTRA LOW SULPHUR DIESEL-CARGOES CIF NWE/BASIS ARA-PLATTS EUROPEAN","SubProduct":"GROS","AdditionalSubProduct":"FWHT"},"ISIN":{"ISIN":"EZX27M86B860","Status":"New"},"TemplateVersion":1,"Derived":{"CommodityDerivativeIndicator":"TRUE","UnderlyingAssetType":"Agriculture","IssuerorOperatoroftheTradingVenueIdentifier":"NA","PriceMultiplier":1,"FullName":"Commodities Forward AGRI GROS FWHT EUR 20180101","ShortName":"NA/Fwd AGRI FWHT EUR 20180101","ClassificationType":"JTAXCC"}}
{"Header":{"AssetClass":"Commodities","InstrumentType":"Swap","UseCase":"Basis_Swap","Level":"InstRefDataReporting"},"Attributes":{"NotionalCurrency":"SOS","ExpiryDate":"2208-12-10","ReturnorPayoutTrigger":"Total Return","DeliveryType":"OPTL","TransactionType":"ORIT","FinalPriceType":"IHSM","ReferenceRate":"NATURAL GAS-MONTHLY INDEX S. TEXAS (TETCO)-GAS DAILY PRICE GUIDE","OtherReferenceRate":"NATURAL GAS-MONTHLY INDEX W. LOUISIANA (TETCO)-GAS DAILY PRICE GUIDE","BaseProduct":"OTHR","OtherBaseProduct":"OTHR","SubProduct":"","AdditionalSubProduct":"","OtherSubProduct":"","OtherAdditionalSubProduct":""},"ISIN":{"ISIN":"EZBBH1XR9GV6","Status":"New"},"TemplateVersion":1,"Derived":{"CommodityDerivativeIndicator":"TRUE","UnderlyingAssetType":"Multi Commodity","IssuerorOperatoroftheTradingVenueIdentifier":"NA","PriceMultiplier":1,"FullName":"Commodities Swap Basis_Swap OTHR OTHR SOS 22081210","ShortName":"NA/Swap OTHR SOS 22081210","ClassificationType":"STQTXE"}}
{"Header":{"AssetClass":"Commodities","InstrumentType":"Swap","UseCase":"Multi_Exotic_Swap","Level":"InstRefDataReporting"},"Attributes":{"NotionalCurrency":"LRD","ExpiryDate":"2200-01-31","ReturnorPayoutTrigger":"Contract for Difference (CFD)","DeliveryType":"CASH","TransactionType":"TAPO","FinalPriceType":"EXOF","UnderlyingInstrumentIndex":["BCOMF6","BCOMNG3"]},"ISIN":{"ISIN":"EZ286HJVY4Q2","Status":"New"},"TemplateVersion":1,"Derived":{"CommodityDerivativeIndicator":"TRUE","IssuerorOperatoroftheTradingVenueIdentifier":"NA","PriceMultiplier":1,"UnderlyingAssetType":"Multi Commodity","BaseProduct":"MCEX","SubProduct":"","AdditionalSubProduct":"","FullName":"Commodities Multi_Exotic_Swap MCEX LRD 22000131","ShortName":"NA/Swap MCEX LRD 22000131","ClassificationType":"STQCXC"}}
{"Header":{"AssetClass":"Commodities","InstrumentType":"Option","UseCase":"Option","Level":"InstRefDataReporting"},"Attributes":{"NotionalCurrency":"TND","ExpiryDate":"2209-10-18","OptionType":"OPTL","OptionExerciseStyle":"AMER","ValuationMethodorTrigger":"Asian","DeliveryType":"CASH","TransactionType":"OTHR","FinalPriceType":"IHSM","ReferenceRate":"NATURAL GAS-NGPL (NICOR, NIPSCO, PGLC CITYGATE), NBPL-NICOR-ICE/10X MONTHLY","BaseProduct":"OTHR","SubProduct":"","AdditionalSubProduct":""},"ISIN":{"ISIN":"EZ2TK5CWL9Y4","Status":"New"},"TemplateVersion":1,"Derived":{"CommodityDerivativeIndicator":"TRUE","UnderlyingAssetType":"Other","IssuerorOperatoroftheTradingVenueIdentifier":"NA","PriceMultiplier":1,"FullName":"Commodities Option OTHR TND 22091018","ShortName":"NA/O …
Run Code Online (Sandbox Code Playgroud) 我想知道为JSON行(http://jsonlines.org/)设置哪种Content-Type ?
我尝试搜寻。它不是真正的application / json,因为整个内容不是JSON(每行都是)。
谢谢
.jsonl
;我想知道当编辑器尚不支持该文件类型时,是否有一种方法可以让我在VS Code 中获得 JSONL 的支持——“JSON-Lines”?我在想,也许有一种方法可以将支持添加到VS Code 中?
有人建议我搜索一个扩展,它为JSON Lines ( .jsonl
) 文件的编辑器添加支持(根据推荐),但令人沮丧的是,VSCode 没有推荐 JSONL 扩展。
我还在 Marketplace 中搜索了“JSON Lines”和“ .jsonl
”,再一次,搜索没有返回任何有用的结果。