繁体   English   中英

如何将 csv 列中的某些行转换为 JSON 格式?

[英]How do I turn certain rows in a csv column into a JSON format?

我在这样格式化的子列中有某些行

{ “label”:“Apple”,“id”:2,“dataType”:“Fruit”}]

我遇到的问题是,由于子列在几行中为空,但在其他一些行中像这样填充,我想看看我是否可以将它变成一个 JSON 对象,看看我是否可以进行这样的操作,但这似乎不可能,因为我一直收到错误提示

json.decoder.JSONDecodeError:预期值:第 1 行第 1 列(字符 0)

我认为那是因为“id”:2,2中没有“2”。我如何替换像2这样的空值并将其变成“2”,所以它是一个合适的JSON格式?

我是否也可能喜欢提取标签、ID 和数据类型,并在不同的导出 csv 文件中将它们设为自己的标题? 例如,假设我的 input.csv 文件是这样的

价值,儿童:
1,“label”:“香蕉”,“id”:11,“dataType”:“水果”
2、
3、"label": "Shoes", "id": 1150, "dataType": "Accessories"

我希望输出的文件看起来像这样:

标签,ID,数据类型,

香蕉,11,水果

鞋子, 1150, 配饰

这可能吗?

编辑:原始数据集实际上包含多个值

{“label”:“val1”,“id”:2,“dataType”:“value”,“label”:“val2”,“id”:3,“dataType”:“value3”}

在同一行中,在一个单元格内可以定义多个此值,我是否仍可以将它们制作成列标题并将值存储在关联的列中?

假设您的专栏是:

column = pd.Series(
    [{"label ": "Banana", "id ": 11, "dataType ": "Fruits "},
     {},
     {"label ": "Shoes ", "id ": 1150, "dataType ": "Accesories "}]
)

您可以通过pd.json_normalize将此列转换为数据框:

new_df = pd.json_normalize(column)

然后将其保存为您喜欢的格式(例如,csv):

new_df.to_csv('file_name.csv', index=False)

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM