Имам 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++, и сега поради опит за коригиране на този проблем те започват като въпросителни знаци, когато чета в оригиналния файл или когато отварям този оригинален файл в excel или notepadd++. Преди те се появиха като нормални френски знаци.
Примерни данни и код:
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 файл, където френските знаци се показват правилно.
Благодаря ви за всяка помощ!