简体   繁体   中英

Python3 - convert csv to json using pandas

I've got a .csv files with 5 columns but I only need the json file to contain 3 of these how would i go about doing it?

csv file:

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 output:

{"1.1":[{"a":"1a"},{"b":"1b"},{"c":"1c"}],"2.2":[{"a":"2a"},{"b":"2b"},{"c":"2c"}]}
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"}]}'

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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