Я думаю, что вы должны работать с dictionary
вместо списка, так что вы можете явно указать, в какие столбцы должен входить каждый список.Затем переиндексируйте, чтобы они отображались в правильном положении.
import pandas as pd
import string
data = {'A': ['car'], 'B': ['bus'], 'C': ['laptop'],
'D': ['tv', 'chair'], 'E': ['music', 'pop'], 'O':['shoe']}
df = (pd.DataFrame.from_dict(data, orient='index')
.reindex(list(string.ascii_uppercase))
.truncate(after='O', axis=0).T)
Вывод:
A B C D E F G H I J K L M N O
0 car bus laptop tv music NaN NaN NaN NaN NaN NaN NaN NaN NaN shoe
1 None None None chair pop NaN NaN NaN NaN NaN NaN NaN NaN NaN None
Теперь, если вы сделаете df.to_csv('file_name.csv', index=False, header=False)
, столбцы будут такими, как вы хотите в вашем .csv.
CSV Вывод:
car,bus,laptop,tv,music,,,,,,,,,,shoe
,,,chair,pop,,,,,,,,,,
Если вам когда-либо понадобится еще больше столбцов, то первые 702 столбца Excel будут:
from itertools import product
l = list(string.ascii_uppercase)+[x+y for x,y in product(string.ascii_uppercase, string.ascii_uppercase)]