французский символ превращается в вопросительные знаки; Панды

У меня есть файл csv, который содержит французские символы/акценты, в том числе: É, ê, è и т. д., относящиеся к некоторым французским названиям городов и улиц. Я пробовал несколько вариантов кодирования для функций read_csv и to_csv в Pandas, включая:

 df=pd.read_csv(FilePath, encoding='latin-1' )

также:

encoding='utf-8'
encoding='latin-1'
encoding='utf-8-sig'
encoding='iso-8859-1'

Я также пытался не указывать кодировку.

Я использую Python 2.7 и модуль Pandas. Я читал, что Python 3 лучше справляется с кодированием, но в настоящее время это не вариант.

Французские символы превращаются в вопросительные знаки (?), Когда выходной файл открывается в Excel или Notepad ++, и теперь, из-за попытки исправить эту проблему, они начинаются как вопросительные знаки, когда я читаю в исходном файле или когда я открываю этот исходный файл в эксель или блокнот++. Раньше они появлялись как обычные французские персонажи.

Пример данных и кода:

City    Address1_Particule  Address1_Street Address1_StreetType
Montr? V    Des BRISES DU FLEUVE    ALL?
Montr? V    Des BRISES DU FLEUVE    ALL?
Montr? V    Des BRISES DU FLEUVE    ALL?
Montr? V    Des BRISES DU FLEUVE    ALL?

#create dataframe
df=pd.read_csv(FilePath, encoding='latin-1' )

for streetType in StreetTypeList:
    for pretype in StreePreTypeList:
        df[pretype]=''
  # Change street type french from short to long form  and into new column
        df.loc[dfCAS[streetType]=='AV', [pretype]]='AVENUE'
        df.loc[dfCAS[streetType]=='AVE', [pretype]]='AVENUE'
        df.loc[dfCAS[streetType]=='BOUL', [pretype]]='BOULEVARD'
        df.loc[dfCAS[streetType]=='CH', [pretype]]='CHEMIN'

df.to_csv(OutputPath, encoding='latin-1'

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

Спасибо за любую помощь!


person aguay091    schedule 05.06.2019    source источник


Ответы (2)


Это должно работать

df = pd.read_excel(FilePath, encoding='latin1')
person Herve H    schedule 31.08.2020

Я думаю, что эта ссылка может быть полезна для людей, чтобы найти все типы кодирования. Пожалуйста, перейдите по этой ссылке: https://docs.python.org/3.7/library/codecs.html#standard-encodings

Я искал символы чешского языка и обнаружил, что для чешских символов должна работать следующая кодировка: iso8859_2, iso-8859-2, latin2, L2 (Центральная и Восточная Европа)

Точно так же можно использовать другие языковые символы с правильной кодировкой из этого списка.

person Belal Mood    schedule 01.04.2021