[英]Convert DataFrame column to json column
我有一个 pandas dataframe 其中一列是 json 类型,但它如下所示:列 {1:1,2:2,3:3}
但我希望这是真正的 json 格式,如列 {"1":1,"2":2,"3":3}
目前该列的数据类型为 object
这应该有效:
import ast
import json
import pandas
def convert_json(row: pandas.Series) -> pandas.Series:
# Read the string as a python dictionary (literal_eval), then, turn the key into a string, then dump as a valid JSON string
row["real_json"] = json.dumps({str(key): value for key, value in ast.literal_eval(row["my_json"]).items()})
# Return the row
return row
# Some test data
df = pandas.DataFrame([{"my_json": "{1:1,2:2,3:3}"} for _ in range(10)])
# Loop the rows and apply the function
df = df.apply(convert_json, axis=1)
Output:
print(df)
my_json real_json
0 {1:1,2:2,3:3} {"1": 1, "2": 2, "3": 3}
1 {1:1,2:2,3:3} {"1": 1, "2": 2, "3": 3}
2 {1:1,2:2,3:3} {"1": 1, "2": 2, "3": 3}
3 {1:1,2:2,3:3} {"1": 1, "2": 2, "3": 3}
4 {1:1,2:2,3:3} {"1": 1, "2": 2, "3": 3}
5 {1:1,2:2,3:3} {"1": 1, "2": 2, "3": 3}
6 {1:1,2:2,3:3} {"1": 1, "2": 2, "3": 3}
7 {1:1,2:2,3:3} {"1": 1, "2": 2, "3": 3}
8 {1:1,2:2,3:3} {"1": 1, "2": 2, "3": 3}
9 {1:1,2:2,3:3} {"1": 1, "2": 2, "3": 3}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.