Ошибка: поле больше предела поля (131072) - PullRequest
0 голосов
/ 04 января 2019

Я использую большие данные CSV в Python Spyder для преобразования 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 Ответ

0 голосов
/ 04 января 2019

Вы должны иметь большие столбцы данных. Предел по умолчанию для данных в одном столбце составляет csv.field_size_limit(). Может быть изменено:

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

Возможно, вы также неправильно читаете .CSV.

...