Gấu trúc đọc trong bảng không có tiêu đề


238

Làm cách nào tôi có thể đọc trong tệp .csv (không có tiêu đề) và khi tôi chỉ muốn một tập hợp con của các cột (giả sử thứ 4 và thứ 7 trong tổng số 20 cột), sử dụng gấu trúc? Tôi dường như không thể làm đượcusecols

Câu trả lời:


346

Để đọc một csv trong đó không có tiêu đề và chỉ một số cột nhất định, bạn cần phải vượt qua các thông số header=Noneusecols=[3,6]cho các cột thứ 4 và thứ 7:

df = pd.read_csv(file_path, header=None, usecols=[3,6])

Xem tài liệu


66

Các câu trả lời trước là tốt và chính xác, nhưng theo tôi, một namestham số bổ sung sẽ làm cho nó hoàn hảo, và nó nên là cách được đề xuất, đặc biệt là khi csv không có headers.

Giải pháp

Sử dụng usecolsnamestham số

df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'])

Đọc thêm

hoặc sử dụng header=Noneđể nói rõ với mọi người rằng csvkhông có tiêu đề (dù sao cả hai dòng đều giống nhau )

df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'], header=None)

Để bạn có thể truy xuất dữ liệu của mình bằng cách

# with `names` parameter
df['colA']
df['colB'] 

thay vì

# without `names` parameter
df[0]
df[1]

Giải thích

Dựa trên read_csv , khi namesđược thông qua rõ ràng, sau đó headersẽ hành xử như Nonethay vì 0, vì vậy người ta có thể bỏ qua header=Nonekhi namestồn tại.


9

Hãy chắc chắn rằng bạn chỉ định vượt qua header=Nonevà thêm usecols=[3,6]cho cột thứ 4 và thứ 7.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.