Je lis un fichier csv dans pandas
. Ce fichier csv se compose de quatre colonnes et de quelques lignes, mais n'a pas de ligne d'en-tête, que je souhaite ajouter. J'ai essayé ce qui suit:
Cov = pd.read_csv("path/to/file.txt", sep='\t')
Frame=pd.DataFrame([Cov], columns = ["Sequence", "Start", "End", "Coverage"])
Frame.to_csv("path/to/file.txt", sep='\t')
Mais lorsque j'applique le code, j'obtiens l'erreur suivante:
ValueError: Shape of passed values is (1, 1), indices imply (4, 1)
Que signifie exactement l'erreur? Et quel serait un moyen propre en python d'ajouter une ligne d'en-tête à mon fichier csv / pandas df?
Réponses:
Vous pouvez utiliser
names
directement dans leread_csv
la source
NaN
attributs. C'était parce que mon séparateur est un espace vide.Vous pouvez également lire votre csv avec
header=None
, puis l'ajouter avecdf.columns
:la source
après avoir fait cela, vérifiez-le avec [bien évidemment je sais, vous le savez. Mais reste...
J'espère que ça aide ...
la source
{}
bouton. L'indentation est importante.Pour corriger votre code, vous pouvez simplement changer
[Cov]
enCov.values
, le premier paramètre depd.DataFrame
deviendra unnumpy
tableau multidimensionnel:Mais la solution la plus intelligente reste l'utilisation
pd.read_excel
avecheader=None
etnames=columns_list
.la source