Я пытаюсь преобразовать CSV в JSON для использования сasticsearch.Вот пример csv:
user,user_creation_time
UserName1,2018-02-21T15:57:53+00:00
UserName2,N/A
типы массивов: user
- str
,
user_creation_time
- Время ISO или str('N/A')
Проблема в том, что при загрузке ElasticSearch значение N/A
завершается неудачно, поскольку ожидается тип date
.
У меня есть больше полей времени с этой проблемой (после даты, после строки).Каков наилучший способ добиться этого?
В конце концов, функциональность должна быть такой:
csv
user,user_creation_time
UserName1,2018-02-21T15:57:53+00:00
UserName2,N/A
python
{"user":"UserName1","user_creation_time":"2018-02-21T15:57:53+00:00"}
{"user":"UserName2","user_creation_time":None}
json
{"user":"UserName1","user_creation_time":"2018-02-21T15:57:53+00:00"}
{"user":"UserName2","user_creation_time":null}
Что я делаю сейчас:
import csv
with open(csv_file, 'r') as inf:
reader = csv.DictReader(inf.readlines())
print(json.dumps(tuple(reader)))