У меня есть файл 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-файл, в котором французские символы отображаются правильно.
Спасибо за любую помощь!