W pandach mogę po prostu użyć pandas.io.parser.read_csv("file.csv", nrows=10000)
, aby uzyskać pierwsze 10000 linii pliku csv.Uzyskaj ostatnie 10000 linii pliku csv.
Ale ponieważ mój plik csv jest ogromny, a ostatnie wiersze są bardziej istotne niż te pierwsze, chciałbym przeczytać ostatnie 10000 linii. Nie jest to jednak łatwe, nawet jeśli znam długość pliku, ponieważ pomijając pierwsze 990000 wierszy pliku csv o wartości 1000000 przy użyciu pandas.io.parser.read_csv("file.csv", nrows=10000, skiprows=990000)
, pierwsza linia, która zawiera nagłówek pliku, jest również pomijana. (header=0
jest mierzony po zastosowaniu skiprows
, więc to też nie pomaga.)
Jak uzyskać ostatnie 10000 linii z pliku csv z nagłówkiem w linii 0, najlepiej bez znajomości długości pliku w wierszach ?
Czy jesteś w systemie Linux lub OSX? Jeśli tak, to używanie 'tail -n pliku 10000> file2' będzie prawdopodobnie najłatwiejsze ... – Carpetsmoker
Uderzając w pomysł @Carpetsmoker, jeśli nalegasz na używanie' Python', możesz wywołać to na 'subprocess.call () ': P – Mai
@Carpetsmoker, ale potrzebuje również nagłówka. Powinien mieć postać 'head -n 1 file> file2; tail -n plik 10000 >> file2' –