Причуда GetPrivateProfileString

см. здесь здесь , поскольку они представляют собой некоторые параметры, которые вы можете передать, чтобы получить результат в нескольких разных формах.

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]]

5
задан efotinis 21 November 2008 в 12:54
поделиться

2 ответа

Проверьте, чтобы видеть, имеет ли файл, который Вы открываете, метку порядка байтов (несколько байтов, отмечающих тип текстового кодирования).

Они Windows API calls не кажется grok меткам порядка байтов, и, заставляет их пропускать первый раздел (следовательно, все хорошо работает, если существует пустая строка).

9
ответ дан 13 December 2019 в 22:19
поделиться

Хороший вызов. Редактирование ini файла в VS.NET, конечно (Понятное дело) добавляет utf-8 BOM. Grrr. Открытие его в блокноте и выполнение SaveAs ASCII приводят к ожидаемым результатам.

Настолько очевидный. Настолько тупой. Другой час вниз crapper.:-)

Спасибо! - =Chris

1
ответ дан 13 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: