Подтвердить что ты не робот

Pandas читать в таблице без заголовков

Как я могу читать в CSV файле (без заголовков), и когда мне нужно только подмножество столбцов (например, 4-е и 7-е из 20 столбцов), используя pandas? Кажется, я не могу сделать usecols

4b9b3361

Ответ 1

Чтобы прочитать csv, в котором нет заголовка, и только для определенных столбцов вам необходимо передать параметры header=None и usecols=[3,6] для 4-го и 7-го столбцов:

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

Смотрите docs

Ответ 2

Предыдущие ответы были хорошими и правильными, но, по моему мнению, дополнительный параметр names сделает его идеальным, и это должно быть рекомендовано, особенно если в csv нет headers.

Решение

Используйте параметры usecols и names

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

Дополнительное чтение

или используйте header=None чтобы явно сказать людям, что у csv нет заголовков (в любом случае обе строки идентичны)

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

Так что вы можете получить свои данные с помощью

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

вместо

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

объяснять

На основании read_csv, когда names передаются явно, тогда header будет вести себя как None вместо 0, так что можно пропустить header=None когда names существуют.

Ответ 3

Убедитесь, что вы указали pass header=None и добавили usecols=[3,6] для 4-го и 7-го столбцов.