Я знаю, что есть несколько других сообщений в Stack Overflow относительно этой же проблемы, однако ни одного решения, найденного на этих сообщениях, или любого другого сообщения, которое я нашел в Интернете для что дело, сработало. Я следил за многочисленными учебниками, видеороликами, книгами и сообщениями Stack Overflow на пандах, и все упомянутые решения потерпели неудачу.Невозможно преобразовать pandas DataFrame в json using to_json
Неудача заключается в том, что все решения, которые я нашел, являются правильными или, по крайней мере, они должны быть; Я довольно новичок в пандах, поэтому мой единственный вывод заключается в том, что я, вероятно, что-то делаю неправильно.
Это документация к pandas, которую я начал с: Pandas to_json Doc. Я не могу заставить pandas to_json преобразовать pandas DataFrame в json-объект или json-строку.
В принципе, я хочу преобразовать строку csv в DataFrame, а затем преобразовать этот DataFrame в json-объект или json-строку (мне все равно, какой). Потом, когда у меня есть структура данных JSON, я собираюсь привязать его к гистограмме D3.js
Вот пример того, что я пытаюсь сделать:
# Declare my csv string (Works):
csvStr = '"pid","dos","facility","a1c_val"\n"123456","2013-01-01 13:37:00","UOFU",5.4\n"65432","2014-01-01 14:32:00","UOFU",5.8\n"65432","2013-01-01 13:01:00","UOFU",6.4'
print (csvStr) # Just checking the variables contents
# Read csv and convert to DataFrame (Works):
csvDf = pandas.read_csv(StringIO.StringIO(csvStr))
print (csvDf) # Just checking the variables contents
# Convert DataFrame to json (Three of the ways I tried - None of them work):
myJSON = csvDf.to_json(path_or_buf = None, orient = 'record', date_format = 'epoch', double_precision = 10, force_ascii = True, date_unit = 'ms', default_handler = None) # Attempt 1
print (myJSON) # Just checking the variables contents
myJSON = csvDf.to_json() # Attempt 2
print (myJSON) # Just checking the variables contents
myJSON = pandas.io.json.to_json(csvDf)
print (myJSON) # Just checking the variables contents
ошибку, Я получаю:
аргумент 1 должен быть строкой или только для чтения символов буфера, не DataFrame
который вводит в заблуждение, потому что документация говорит «A Series или DataFrame с преобразуется в действительную строку JSON. "
Несмотря ни на что, я попытался дать ему строку в любом случае, и это привело к той же ошибке.
Я попытался создать тестовый сценарий, следуя точным шагам из книг и других учебных пособий и/или сообщений, и это просто приводит к той же ошибке. На этом этапе мне нужно простое решение как можно скорее. Я открыт для предложений, но я должен подчеркнуть, что у меня нет времени тратить на изучение совершенно новой библиотеки.
Большое спасибо за ваш ответ! Вы абсолютно правы, ориентационный парам должен быть «записями»! Спасибо, что поймал эту ошибку. Если бы не другая проблема ранее в моем коде (не размещена здесь), это решение устранило бы проблему. Оказывается, ошибка была вызвана моей собственной глупой ошибкой в результате копирования/вставки. Я отправлю детали как ответ на мой вопрос.Хотя, я собираюсь отметить ваш ответ как «полезный», потому что ваше решение действительно для ошибки в моем коде. Edit: Nevermind, я не могу голосовать за ваш пост, потому что у меня недостаточно репутации. –
Нет проблем. Удачи! – Dair