Dans les pandas, je peux simplement utiliser pandas.io.parser.read_csv("file.csv", nrows=10000)
pour obtenir les 10000 premières lignes d'un fichier CSV.Obtenir les 10000 dernières lignes d'un fichier CSV
Mais parce que mon fichier csv est énorme, et les dernières lignes sont plus pertinentes que les premières, je voudrais lire les 10000 dernières lignes. Cependant, ce n'est pas si simple, même si je connais la longueur du fichier, car si je saute les 990000 premières lignes d'un fichier csv de 1000000 à l'aide de pandas.io.parser.read_csv("file.csv", nrows=10000, skiprows=990000)
, la première ligne, qui contient l'en-tête du fichier, est également ignorée. (header=0
est appliqué après skiprows
est appliqué, donc cela n'aide pas non plus.)
Comment obtenir les 10000 dernières lignes d'un fichier csv avec un en-tête dans la ligne 0, de préférence sans connaître la longueur du fichier dans les lignes ?
Êtes-vous sur un système Linux ou OSX? Si oui, alors utiliser 'tail -n 10000 file> file2' sera probablement le plus simple ... – Carpetsmoker
Si vous insistez sur l'utilisation de' Python', vous pouvez l'appeler sur subprocess.call () ': P – Mai
@ Carpetsmoker mais il a également besoin d'un en-tête. Il devrait être comme 'head -n 1 file> file2; tail -n 10000 fichier >> file2' –