Pandy czytane w tabeli bez nagłówków


238

Jak mogę czytać w pliku .csv (bez nagłówków) i kiedy chcę tylko podzestawu kolumn (powiedzmy 4 i 7 z 20 kolumn), używając pand? Nie mogę tego zrobićusecols

Odpowiedzi:


349

Aby odczytać plik csv, który nie ma nagłówka i tylko dla niektórych kolumn musisz przekazać parametry, header=Nonea usecols=[3,6]dla czwartej i siódmej kolumny:

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

Zobacz dokumenty


67

Poprzednie odpowiedzi były dobre i poprawne, ale moim zdaniem dodatkowy namesparametr sprawi, że będzie idealny, i powinien to być zalecany sposób, szczególnie gdy csv nie ma headers.

Rozwiązanie

Zastosowanie usecolsi namesparametry

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

Dodatkowe lektury

lub użyj, header=Noneaby wyraźnie powiedzieć ludziom, że csvnie ma nagłówków (w każdym razie obie linie są identyczne )

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

Abyś mógł odzyskać swoje dane przez

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

zamiast

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

Wyjaśnić

Na podstawie read_csv , kiedy nameszostaną przekazane jawnie, headerbędą zachowywać się jak Nonezamiast 0, więc można pominąć, header=Nonejeśli namesistnieją.


9

Upewnij się, że podałeś pass header=Nonei add usecols=[3,6]dla czwartej i siódmej kolumny.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.