Existe-t-il un moyen intégré d'utiliser read_csv
pour ne lire que le premier n
lignes d'un fichier sans connaître à l'avance la longueur des lignes ? J'ai un grand fichier qui prend beaucoup de temps à lire, et occasionnellement je veux seulement utiliser les premières, disons, 20 lignes pour en avoir un échantillon (et je préfère ne pas charger le tout et prendre la tête du fichier).
Si je connaissais le nombre total de lignes, je pourrais faire quelque chose du genre footer_lines = total_lines - n
et le transmettre à la skipfooter
mot-clé arg. Ma solution actuelle consiste à saisir manuellement le premier n
avec python et le StringIO à pandas :
import pandas as pd
from StringIO import StringIO
n = 20
with open('big_file.csv', 'r') as f:
head = ''.join(f.readlines(n))
df = pd.read_csv(StringIO(head))
Ce n'est pas si mal, mais existe-t-il un moyen plus concis, plus "pandasique" ( ?) de le faire avec des mots-clés ou autre ?