Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
870 views
in Technique[技术] by (71.8m points)

python - 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"}]}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
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"}]}'

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...