Có cách nào được tích hợp sẵn để sử dụng read_csv
để chỉ đọc những n
dòng đầu tiên của tệp mà không cần biết trước độ dài của các dòng không? Tôi có một tệp lớn phải mất nhiều thời gian để đọc và đôi khi chỉ muốn sử dụng đoạn đầu tiên, chẳng hạn, 20 dòng để lấy mẫu của nó (và không muốn tải toàn bộ và lấy phần đầu của nó).
Nếu tôi biết tổng số dòng, tôi có thể làm điều gì đó giống như footer_lines = total_lines - n
và chuyển điều này cho skipfooter
từ khóa arg. Giải pháp hiện tại của tôi là lấy các n
dòng đầu tiên bằng python và StringIO theo cách thủ công cho gấu trúc:
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))
Nó không tệ lắm, nhưng có cách nào ngắn gọn hơn, 'pandasic' (?) Để làm điều đó với các từ khóa hay gì đó không?