将数据从.csv文件转换为.json-Python [英] Converting data from .csv file to .json - Python

查看:155
本文介绍了将数据从.csv文件转换为.json-Python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要将数据从我的csv文件转换为我要使用的文件,即.js.

I need to convert data from my csv file to the one i am gonna use which is .js.

Lp.;Name;Surname;Desc;Unit;Comment
1;Jan;Makowski;Inf;km;
2;Anna;Nowak;Pts;km;Brak reakcji

如果您可以看到列'comment'并不总是有记录,那么我需要保持这种方式.同样,在数据之间也需要设置一些标签.

If you can see column 'comment' does not always have record and I need to keep it that way. Also between data there is amount of tabs I need to set as well.

我有一个文件,我正在处理,但是它显示我的数据是这样的:

I've a file,i am working on right now but It show's me data in row like :

[{"Lp.;Name;Surname;Desc;Unit;Comment": "1;Jan;Makowski;Inf;km;"}, {"Lp.;Name;Surname;Desc;Unit;Comment": "2;Anna;Nowak;Pts;km;Brak reakcji"...]

我是python的新手,我不知道如何定义需要获取的内容.

I am new to python and I have no idea how to define what I need to get.

@@编辑,我设法做到了...

@@ Edit I managed to do that...

import json
import csv

# Deklaracja danych
fieldnames = ("Lp.", "Name", "Surname", "Desc", "Unit", "Comment")

#  Otwieranie plików
with open('file.csv', 'r', encoding = "utf8") as csvfile:
    reader = csv.DictReader(csvfile) # ,fieldnames)
    rows = list(reader)

# Zamykamy plik
csvfile.close()

# Tworzymy plik z danych
with open('file.json', 'w', encoding = "utf8") as jsonfile:
    json.dump(rows,jsonfile)
    # jsonfile.write(s.replace(';', '/t'))
# Zamykamy plik
csvfile.close()

推荐答案

我认为这是您的答案,这可能不是最好的方法,但它可以为您提供结果.

I think this is your answer, this may not be the best way to do it, but it can gives you the result.

import csv
import json
with open('file.csv', 'r') as f:
    reader = csv.reader(f, delimiter=';')
    data_list = list()
    for row in reader:
        data_list.append(row)
data = [dict(zip(data_list[0],row)) for row in data_list]
data.pop(0)
s = json.dumps(data)
print (s)

输出:

[{"Comment": "", "Surname": "Makowski", "Name": "Jan", "Lp.": "1", "Unit": "km", "Desc": "Inf"}, {"Comment": "Brak reakcji", "Surname": "Nowak", "Name": "Anna", "Lp.": "2", "Unit": "km", "Desc": "Pts"}]

这篇关于将数据从.csv文件转换为.json-Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆