Если вы знаете, что данные содержат N
столбцы, вы можете
сообщите Pandas заранее, сколько столбцов ожидать с помощью параметра names
:
import pandas as pd
df = pd.read_csv('data', delimiter='|', names=list(range(7)))
print(df)
выходы
0 1 2 3 4 5 6
0 1 01-01-2019 724 NaN NaN NaN NaN
1 2 01-01-2019 233 436.0 NaN NaN NaN
2 3 01-01-2019 345 NaN NaN NaN NaN
3 4 01-01-2019 803 933.0 943.0 923.0 954.0
4 5 01-01-2019 454 NaN NaN NaN NaN
Если у вас есть верхний предел, N
, на количество столбцов, то вы можете
Панды читают N
столбцы, а затем используют dropna
для удаления полностью пустых столбцов:
import pandas as pd
df = pd.read_csv('data', delimiter='|', names=list(range(20))).dropna(axis='columns', how='all')
print(df)
выходы
0 1 2 3 4 5 6
0 1 01-01-2019 724 NaN NaN NaN NaN
1 2 01-01-2019 233 436.0 NaN NaN NaN
2 3 01-01-2019 345 NaN NaN NaN NaN
3 4 01-01-2019 803 933.0 943.0 923.0 954.0
4 5 01-01-2019 454 NaN NaN NaN NaN
Обратите внимание, что это может привести к удалению столбцов из середины набора данных (не только
столбцы справа), если они полностью пусты.