Если ваш разделитель столбцов - запятая, вы можете заполнить ее, просто вставив соответствующее количество запятых в конце каждой строки.Использование read_csv
pandas будет считывать дополненные значения как NaN.
with open('/path/to/data.csv', 'r') as f:
data = f.read().split()
# Count the the number of columns in each line
cols = [row.count(',')+1 for row in data]
# Find the widest row
max_cols = max(cols)
# Loop over lines in text
for id, row in enumerate(data):
# Pad extra columns when necessary
if cols[id] < max_cols:
data[id] += (max_cols - cols[id]) * ','
# Write the data out
with open('/path/to/pad_data.csv', 'w') as f:
f.write('\n'.join(data))
Настройка некоторых тестовых данных:
data = '1,2,3\n4,\n5,6,7,8,9\n'
print(data)
#1,2,3
#4,
#5,6,7,8,9
Применение вышеуказанного метода дает:
print('\n'.join(pad_data))
#1,2,3,,
#4,,,,
#5,6,7,8,9