Попробуйте выполнить следующее, читая файл, используя pd.read_fwf
.
df = pd.read_fwf(filename, delimiter=',', header=None)
Теперь нам нужно объединить все столбцы после 'col3' в col3:
df.iloc[:,2] = df.iloc[:,2:].astype(str).apply(tuple, axis=1).str.join(',').str.replace(',nan', '')
df = df.iloc[:,:3]
df.columns = ['col1', 'col2', 'col3']
Пример
данные в filename:
1,a,x
2,b
3,c,y,z
4,d,s,f,d,s
Df при чтении файла с использованием pd.read_fwf
:
0 1 2 3 4 5
0 1 a x NaN NaN NaN
1 2 b NaN NaN NaN NaN
2 3 c y z NaN NaN
3 4 d s f d s
Выводпосле вышеуказанной операции:
col1 col2 col3
0 1 a x
1 2 b nan
2 3 c y,z
3 4 d s,f,d,s