D'après la documentation, je sais que pour sauvegarder en tant que fichier .csv
, on peut simplement faire:
df.to_csv(sep = ';')
Cependant, j'aimerais utiliser mon séparateur personnalisé, par exemple: :::
. Comment définir :::
comme séparateur?. J'ai essayé de:
df.to_csv(sep = ':::')
Et j'ai: TypeError: "delimiter" must be a 1-character string
J'ai aussi essayé de: df.to_csv('../data.csv', sep='\s*\:::', index=False)
et j'ai obtenu le même résultat. Ainsi, comment puis-je définir mon propre séparateur?.
METTRE À JOUR
Étant donné que j'ai dans mon image de données |
, je ne peux pas utiliser un tel caractère comme séparateur. J'ai essayé de l'enlever avec:
df.replace('\b|\b', '-', regex = True)
Cependant, cela n'a pas fonctionné. Toute alternative sur la façon de l'enlever?.
De toute évidence, les Pandas ne semblent pas autoriser ce comportement.
Cependant, si vous voulez absolument ":::". Pourquoi ne pas exporter le cadre de données avec un caractère inhabituel tel que "|" puis ouvrez le fichier et remplacez "|" par ":::".
C'est la seule solution que j'imagine pour obtenir le résultat souhaité.
Après tout, j'ai fait:
df['Col'] = df['Col'].str.replace('|', ':')
Afin de le supprimer de la colonne. Ensuite, j'ai corrigé un personnage différent pour séparer mon df.
Zipa m'a aidé avec mon problème d'utiliser des espaces consécutifs comme séparateur ici :
Cela pourrait être une solution de contournement:
myCsv = df.astype(str).apply(lambda x: ' '.join(x), axis=1) myCsv.rename(' '.join(df.columns)).to_csv(file, header=True, index=False)
Peut-être en fonction de sa réponse, essayez:
myCsv = df.astype(str).apply(lambda x: ':::'.join(x), axis=1)
myCsv.rename(':::'.join(df.columns)).to_csv(file, header=True,index=False)
Cela a fonctionné pour moi, si les noms de colonne sont des chaînes