Pandas df ndjson дает неверный счетчик строк
У меня есть датафрейм с 320 строками. Я преобразовал его в ndjson с пандами:
df.to_json('file.json', orient='records', lines=True)
Однако после загрузки данных я получаю только 200 строк.
with open('file.json') as f:
print(len(f.readlines()))
дает 200
spark.read.json('file.json').count
также дает 200
Только перезагрузка с пандами дает правильное количество строк:
pd.read_json('file.json', orient='records', lines=True)
Мой набор данных содержит \n
символы в полях. Я ожидаю иметь столько же или больше строк, когда я загружаю записи с помощью Python или Spark.
В чем проблема здесь с pandas.to_json
метод?
1 ответ
Я вручную проверял файл json построчно и обнаружил, что pandas.to_json
кажется, пишет неправильно. (или я неправильно понял спецификации)
with open('file.json') as f:
j = f.read().replace('},{', '}\n{')
with open('file.jsonl', 'w') as f:
f.write(j)
Замена ошибок в файле устраняет проблемы.