У меня проблемы с расшифровкой символов пиньинь из файла Excel.
Структура этого файла выглядит следующим образом:
[...]
и я хочу сохранить значения каждого столбца в отдельной переменной, выполнив это следующим образом: (для пиньинь мне нужно передать 'ignore' аргумент)
df = pd.read_excel("static\\voc1.xlsx")
#English doesn't actually need en-/decoding
en = str(df['English'][:3]).encode('utf-8').decode('cp1252')
zh = str(df['Chinese'][:3]).encode('utf-8').decode('cp1252')
pinyin = str(df['Pinyin'][:3]).encode('utf-8').decode('cp1252', 'ignore')
print(zh, en, pinyin)
, что приводит к следующему при выполнении:
0 我
1 我们
2 你
Name: Chinese, dtype: object
0 I, me
1 we, us
2 you
Name: English, dtype: object
0 wǒ
1 wǒmen
2 n�
Name: Pinyin, dtype: object
Как вы можете видеть, это точно работает для китайских символов и английского sh, но для пиньинь это либо показывая этот «алмазный вопросительный знак» для некоторых символов, либо выбрасывая ошибку, если я не передам аргумент errors :
df = pd.read_excel("static\\voc1.xlsx")
#English doesn't actually need en-/decoding
en = str(df['English'][:3]).encode('utf-8').decode('cp1252')
zh = str(df['Chinese'][:3]).encode('utf-8').decode('cp1252')
pinyin = str(df['Pinyin'][:3]).encode('utf-8').decode('cp1252')
print(zh, en, pinyin)
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 34: character maps to <undefined>
Если вы хотите воспроизвести себя: I Использую этот файл здесь: https://www.mandarinzone.com/wp-content/uploads/2019/04/HSK1-Vocabulary-List.xlsx
на 64-битной Win10 с кодом Visual Studio
Большое спасибо за вашу помощь!