Python3 - 使用pandas将csv转换为json

时间:2017-01-19 14:07:14

标签: python json pandas csv data-conversion

我有一个包含5列的.csv个文件,但我只需要json个文件来包含其中3个文件,我将如何进行此操作?

csv文件:

Ncode   Ocode   name    a     b     c 
  1      1.1     1x     1a    1b    1c
  2      2.2     2x     2a    2b    2c
  3      3.3     3x     3a    3b    3c

Json输出:

{"1.1":[{"a":"1a"},{"b":"1b"},{"c":"1c"}],"2.2":[{"a":"2a"},{"b":"2b"},{"c":"2c"}]}

1 个答案:

答案 0 :(得分:1)

txt = """Ncode   Ocode   name    a     b     c 
  1      1.1     1x     1a    1b    1c
  2      2.2     2x     2a    2b    2c
  3      3.3     3x     3a    3b    3c
"""

df = pd.read_csv(StringIO(txt), delim_whitespace=True)


json.dumps(
    {'{:0.2f}'.format(r.Ocode): [{'a': r.a}, {'b': r.b}, {'c': r.c}]
     for r in df.itertuples()}
)

'{"2.20": [{"a": "2a"}, {"b": "2b"}, {"c": "2c"}], "3.30": [{"a": "3a"}, {"b": "3b"}, {"c": "3c"}], "1.10": [{"a": "1a"}, {"b": "1b"}, {"c": "1c"}]}'