Справка C#, читая внешнее использование символов StreamReader

Создать словарь списков и перейти к MultiIndex.from_arrays :

#https://stackoverflow.com/a/33046935
d = {k: [dic[k] for dic in results_index] for k in results_index[0]}
print(d)
{'p': [2, 2, 1, 2], 'q': [7, 5, 4, 4]}

mux = pd.MultiIndex.from_arrays(list(d.values()), names=list(d))

df = pd.DataFrame(results_data, index=mux)
print (df)
        A     B
p q            
2 7  0.18  0.18
  5  0.67  0.21
1 4  0.96  0.45
2 4  0.58  0.66

58
задан Hakan Fıstık 27 January 2017 в 11:44
поделиться

4 ответа

Да, это могло быть с фактическим кодированием файла, вероятно, unicode. Попробуйте UTF-8, поскольку это - наиболее распространенная форма кодирования unicode. Иначе, если ASCII файла тогда стандартное кодирование ASCII должен работать.

23
ответ дан Quintin Robinson 24 November 2019 в 18:39
поделиться

Можно также попробовать Кодировку по умолчанию, которая использует кодовую страницу ANSI существующей системы.

StreamReader reader = new StreamReader(inputFilePath, Encoding.Default, true)

, Когда Вы попытаетесь использовать меню "Save As" Блокнота с исходным файлом, посмотрите на поле комбинированного списка кодирования. Это скажет Вам, какое кодирование предполагаемого блокнота используется файлом.

кроме того, если это - файл ANSI, detectEncodingFromByteOrderMarks параметр, вероятно, не поможет многому.

125
ответ дан Jerome Laban 24 November 2019 в 18:39
поделиться

Использование Кодирования. Unicode не будет точно декодировать файл ANSI таким же образом, что декодер JPEG не поймет файл GIF.

я удивлен, что Encoding.Default не работал на файл ANSI, если бы это действительно было ANSI - если Вы когда-нибудь узнаете точно , который использовала кодовая страница Блокнот, Вы могли использовать Encoding.GetEncoding(int) .

В целом, где возможный я рекомендовал бы использовать UTF-8.

9
ответ дан Jon Skeet 24 November 2019 в 18:39
поделиться

Попробуйте другое кодирование, такое как Кодирование. UTF8. Можно также попытаться позволить StreamReader найти кодирование себя:

    StreamReader reader = new StreamReader(inputFilePath, System.Text.Encoding.UTF8, true)

Редактирование: Просто видел Ваше обновление. Попытайтесь позволить StreamReader сделать предположение.

7
ответ дан Jakob Christensen 24 November 2019 в 18:39
поделиться
Другие вопросы по тегам:

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