首页 > 解决方案 > CSV 到 JSON,带有 Python 的子列表数组

问题描述

将 CSV 文件转换为带有子列表数组的 JSON 时遇到问题。CSV 包含一些类别的列表。每列代表一个由它的行组成的列表。列标题是类别标识符。需要将其转换为以下格式的 JSON:

[
    {
        "category": "Egypt",
        "list": [
            "Cairo",
            "Alexandria"
        ]
    },
    {
        "category": "USA",
        "list": [
            "California",
            "Texas"
        ]
    }
]

CSV 格式:

Egypt , USA
Cairo , California
Alexandria , Texas
.....

谢谢

标签: pythonjsoncsventities

解决方案


也许和熊猫一起?

import pandas as pd

# Load the data
data = pd.read_csv(filename)

# Reshaping
data_reshaped = pd.melt(df).groupby('variable').agg(list).reset_index().T
data_reshaped.index = ['category','list']

# Convert to json
data_reshaped.to_json()

你得到:

'{"0":{"category":"Egypt","list":["Cairo","Alexandria "]},
  "1":{"category":"USA","list":["California","Texas"]}}'

这不完全是你想要的,但它是一个开始。


推荐阅读