J'ai un dataframe pandas similaire à:
"'a', 'b', 'c', 'd'"
J'essaie de convertir toutes les lignes de cette colonne en une chaîne séparée par des virgules avec chaque valeur entre guillemets simples, comme ci-dessous:
s = df['Col'].str.cat(sep="', '") s "a', 'b', 'c', 'd"
J'ai essayé ce qui suit avec plusieurs combinaisons différentes, mais c'est la plus proche que j'ai obtenue:
'a', 'b', 'c', 'd'
Je pense que le résultat final devrait être:
df = pd.DataFrame(['a', 'b', 'c', 'd'], columns=['Col']) df Col 0 a 1 b 2 c 3 d
4 Réponses :
Essaye ça:
s = df['Col'].tolist()
Une solution rapide sera
"'" + df['Col1'].str.cat(sep="', '") + "'" "'a', 'b', 'c', 'd'"
Pourquoi «Col1» (contrairement à «Col»)?
@PeterMortensenP vérifie l'historique édité des opérations ~
Essayez quelque chose comme ceci:
Production:
"'a','b','c','d'"
df = pd.DataFrame(['a', 'b', 'c', 'd'], columns=['Col1']) values = df['Col1'].to_list() with_quotes = ["'"+x+"'" for x in values] ','.join(with_quotes)
une autre alternative consiste à ajouter chaque élément avec un guillemet supplémentaire, puis à utiliser par défaut .join
;
"'a', 'b', 'c', 'd'"
', '.join([f"'{i}'" for i in df['Col1']])
Que diriez-vous de
"'" + df.Col1.str.cat(sep="','") + "'"
?Merci, ça marche, souhaitez-vous ajouter votre commentaire comme réponse pour que j'accepte?
super cela a fonctionné. Je pense que BEN_YO a une réponse similaire, vous pouvez peut-être l'accepter.
Happy Coding.