см. здесь здесь , поскольку они представляют собой некоторые параметры, которые вы можете передать, чтобы получить результат в нескольких разных формах.
In [5]: df
Out[5]:
name v1 v2 v3
0 A A1 A11 1
1 A A2 A12 2
2 B B1 B12 3
3 C C1 C11 4
4 B B2 B21 5
5 A A2 A21 6
In [6]: df.to_dict()
Out[6]:
{'name': {0: 'A', 1: 'A', 2: 'B', 3: 'C', 4: 'B', 5: 'A'},
'v1': {0: 'A1', 1: 'A2', 2: 'B1', 3: 'C1', 4: 'B2', 5: 'A2'},
'v2': {0: 'A11', 1: 'A12', 2: 'B12', 3: 'C11', 4: 'B21', 5: 'A21'},
'v3': {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6}}
Вот способ создания json-формата, то буквально eval его, чтобы создать фактический dict
In [11]: import ast
In [15]: ast.literal_eval(df.to_json(orient='values'))
Out[15]:
[['A', 'A1', 'A11', 1],
['A', 'A2', 'A12', 2],
['B', 'B1', 'B12', 3],
['C', 'C1', 'C11', 4],
['B', 'B2', 'B21', 5],
['A', 'A2', 'A21', 6]]
Проверьте, чтобы видеть, имеет ли файл, который Вы открываете, метку порядка байтов (несколько байтов, отмечающих тип текстового кодирования).
Они Windows API calls не кажется grok меткам порядка байтов, и, заставляет их пропускать первый раздел (следовательно, все хорошо работает, если существует пустая строка).
Хороший вызов. Редактирование ini файла в VS.NET, конечно (Понятное дело) добавляет utf-8 BOM. Grrr. Открытие его в блокноте и выполнение SaveAs ASCII приводят к ожидаемым результатам.
Настолько очевидный. Настолько тупой. Другой час вниз crapper.:-)
Спасибо! - =Chris