如何從 Pandas 獲取 json 格式,其中每一行都用新行分隔。例如,如果我有一個像這樣的資料框:
import pandas as pd
data = [{'a': 1, 'b': 2},
{'a': 3, 'b': 4}]
df = pd.DataFrame(data)
print("First:\n", df.to_json(orient="records"))
print("Second:\n", df.to_json(orient="records", lines=True))
輸出:
First:
[{"a":1,"b":2},{"a":3,"b":4}]
Second:
{"a":1,"b":2}
{"a":3,"b":4}
但我真的想要這樣的輸出:
[{"a":1,"b":2},
{"a":3,"b":4}]
或者
[
{"a":1,"b":2},
{"a":3,"b":4}
]
我真的只是希望每一行都用新行分隔,但仍然是可以讀取的有效 json 格式。我知道我可以使用to_jsonwithlines=True并且只是用新行分割.join,但是想知道是否有更直接/更快的解決方案只使用熊貓。
uj5u.com熱心網友回復:
干得好:
import json
list(json.loads(df.to_json(orient="index")).values())
uj5u.com熱心網友回復:
使用indent引數
import pandas as pd
data = [{'a': 1, 'b': 2},
{'a': 3, 'b': 4}]
df = pd.DataFrame(data)
print(df.to_json(orient="records", indent=1))
#output :
[
{
"a":1,
"b":2
},
{
"a":3,
"b":4
}
]
uj5u.com熱心網友回復:
你為什么不加括號:
print(f"First:\n[{df.to_json(orient='records', lines=True)}]")
print(f"Second:\n[\n{df.to_json(orient='records', lines=True)}\n]")
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/337988.html
