提问者:小点点

错误:字段大于字段限制(131072)[重复]


我在spyder python中使用大csv数据将csv转换为json,但它显示的错误字段大于字段限制(131072)。

转换脚本:

import csv
import json


file = r'abcdata.csv'
json_file = r'abcdata.json'


#Read CSV File
def read_CSV(file, json_file):
    csv_rows = []
    with open(file) as csvfile:
        reader = csv.DictReader(csvfile)
        field = reader.fieldnames
        for row in reader:
            csv_rows.extend([{field[i]:row[field[i]] for i in range(len(field))}])
        convert_write_json(csv_rows, json_file)


#Convert csv data into json
def convert_write_json(data, json_file):
    with open(json_file, "w") as f:
        f.write(json.dumps(data, sort_keys=False, indent=1, separators=(',', ': '))) #for pretty
        f.write(json.dumps(data))

read_CSV(file, json_file)

共1个答案

匿名用户

您必须有大列数据。单列数据的默认限制是csv.field_size_limit()。它可以更改:

>>> import csv
>>> csv.field_size_limit()
131072
>>> csv.field_size_limit(256<<10)
131072
>>> csv.field_size_limit()
262144

你也可能读错了CSV。