Я не могу правильно прочитать в dataframe словарь, который я сохраняю как json файл. Кажется, что ключ поврежден. Не уверен, что проблема json.dump()
с использованием json.dump()
или pd.read_json()
. Я хочу, чтобы ключ был самым левым столбцом, но он, кажется, смешивается с типом данных времени. У меня есть следующий словарь:
t1 = {
"666020888022790149": {
"contributors": None,
"coordinates": None,
"created_at": "Sun Nov 15 22:32:08 +0000 2015"},
"666029285002620928": {
"contributors": None,
"coordinates": None,
"created_at": "Sun Nov 15 23:05:30 +0000 2015"},
"666033412701032449": {
"contributors": None,
"coordinates": None,
"created_at": "Sun Nov 15 23:21:54 +0000 2015",
}
}
Код:
import json
import pandas as pd
with open('test1', 'w') as f:
json.dump(t1, f,
sort_keys = True,
indent=4)
df = pd.read_json('test1',orient='index')
df.head(3)
Выход:
Просто скажите Пандам не конвертировать оси:
result = pd.read_json('test1', orient='index', convert_axes=False)
# contributors coordinates created_at
#666020888022790149 NaN NaN 2015-11-15 22:32:08
#666029285002620928 NaN NaN 2015-11-15 23:05:30
#666033412701032449 NaN NaN 2015-11-15 23:21:54
Индекс имеет тип string:
result.index.dtype
#dtype('O')
В качестве побочного примечания "test1" является плохим именем для файла CSV. "test1.csv" намного лучше.