繁体   English   中英

在python中将CSV文件转换为JSON

[英]Converting a CSV file to JSON in python

所以我试图加载csvfile中的数据,将其转换为字典列表,然后将结果作为JSON保存到jsonfile。 这就是我现在所拥有的。 当我尝试打开并加载json文件时,出现“ ValueError:无法解码JSON对象”的提示!

def csv_to_json(csvfile, jsonfile):
    reader = csv.DictReader(csvfile.splitlines(), delimiter=' ', skipinitialspace=True,
                        fieldnames=['dept', 'code', 'section',
                                    'name', 'instructor', 'type','location])
    writer = csv.DictWriter(open(jsonfile,'wb'), fieldnames=reader.fieldnames)

尝试这个:

import json
import csv


def csv_to_json(csvfile, jsonfile):
    ''''''
    with open(csvfile, 'rb') as f:
       reader = csv.DictReader(f, delimiter=',', fieldnames=['head1', 'head2']) 
       open(jsonfile, 'w').write(json.dumps(list(reader)) # if your csv file is not very large                  

请记住,JSON与python对象/字典不同,请查看此答案
所以,你必须使用json.dumps进行编码,然后json.loads到回解码为有效的Python字典

我结束了,写任意的CSV:

import json
import csv

def csv_to_json(csvfile, jsonfile):
    """
    Read a CSV file and output it as JSON. Assumes the csv has a header row.
    """
    with open(csvfile, 'rU') as f:
        reader = csv.DictReader(f)
        data_dict = []
        for row in reader:
            data_dict.append(row)
        print(len(data_dict))
        with open(jsonfile, 'w') as g:
            json.dump(data_dict, g)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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