J'ai un problème similaire à celui affiché ici:
Pandas DataFrame: supprimer les parties indésirables des chaînes dans une colonne
J'ai besoin de supprimer les caractères de nouvelle ligne d'une chaîne dans un DataFrame. En gros, j'ai accédé à une API en utilisant le module json de python et c'est tout ok. La création du DataFrame fonctionne également de manière incroyable. Cependant, quand je veux finalement sortir le résultat final dans un csv, je suis un peu bloqué, car il y a des nouvelles lignes qui créent de fausses 'nouvelles lignes' dans le fichier csv.
Donc, fondamentalement, j'essaie de tourner ceci:
'... c'est un paragraphe.
Et ceci est un autre paragraphe ... '
en cela:
'... c'est un paragraphe. Et ceci est un autre paragraphe ... '
Je ne me soucie pas de conserver tout type de '\ n' ou de symboles spéciaux pour le saut de paragraphe. Il peut donc être retiré immédiatement.
J'ai essayé quelques variantes:
misc['product_desc'] = misc['product_desc'].strip('\n')
AttributeError: 'Series' object has no attribute 'strip'
voici un autre
misc['product_desc'] = misc['product_desc'].str.strip('\n')
TypeError: wrapper() takes exactly 1 argument (2 given)
misc['product_desc'] = misc['product_desc'].map(lambda x: x.strip('\n'))
misc['product_desc'] = misc['product_desc'].map(lambda x: x.strip('\n\t'))
Il n'y a pas de message d'erreur, mais les caractères de nouvelle ligne ne disparaissent pas non plus. Même chose avec ça:
misc = misc.replace('\n', '')
L'écriture sur la ligne csv est la suivante:
misc_id.to_csv('C:\Users\jlalonde\Desktop\misc_w_id.csv', sep=' ', na_rep='', index=False, encoding='utf-8')
Version de Pandas est 0.9.1
Merci! :)
strip
supprime uniquement les caractères spécifiés au début et à la fin de la chaîne. Si vous souhaitez supprimer tous\n
, vous devez utiliser replace
.
misc['product_desc'] = misc['product_desc'].str.replace('\n', '')
Vous pouvez utiliser le paramètre regex
de la méthode replace
pour y parvenir:
misc['product_desc'] = misc['product_desc'].replace(to_replace='\n', value='', regex=True)