La première ligne de l'excel contient des mots avec \ n caractère dans chaque cellule. par exemple:
Mois "East North Central \ n (NSA)" "East North Central \ n (SA)" "East South Central \ n (NSA)"
Alors, en convertissant en csv en utilisant ce code:
data_xls = pd.read_excel('/home/scripts/usless/HP_PO_hist.xls', 'sheet1', index_col=4,skiprows=3) data_xls.to_csv('HH_PO_output.csv', encoding='utf-8')
Il convertit les caractères après \ n en nouvelles lignes comme:
, Mois, "East North Central" (NSA) "," East North Central (SA) "," East South Central (NSA) "," East South Central
Mais la sortie attendue est comme:
Mois East North Central (NSA) East North Central (SA) East South Central (NSA) East South Central (SA)
Comment supprimer ce \ n caractère uniquement à partir de cette ligne d'index lors de la conversion en csv dans Python df?
J'ai utilisé le cadre de données fictif suivant:
import pandas as pd columns=["Month", "East North Central\n(NSA)", "East North Central\n(SA)", "East South Central\n(NSA)"] df = pd.DataFrame(columns=columns)
Lors de l'export vers csv via df.to_csv
j'ai le même comportement de rupture de ligne (pandas 0.19.2):
,Month,"East North Central (NSA)","East North Central (SA)","East South Central (NSA)"
Une solution est de simplement replace \n
par des espaces blancs comme celui-ci:
df.columns = df.columns.str.replace("\n", " ")
Ceci fournit le résultat souhaité:
,Month,East North Central (NSA),East North Central (SA),East SouthCentral (NSA)