Из документов :
Итеративное добавление строк в DataFrame может быть более сложным в вычислительном отношении, чем одна конкатенация. Лучшее решение - добавить эти строки в список, а затем объединить список с исходным кадром DataFrame сразу.
blockquote>Вы можете так же легко добавить свои данные в список и создать экземпляр DataFrame со списком.
import pandas as pd container = [] for a in x: # get the text you want text = 'somestring' char_list = [i for i in text] container.append(char_list) # now create your DataFrame frame = pd.DataFrame(container, columns=['Col1','Col2', 'Col3', 'Col4', 'Col5','Col6', 'Col7', 'Col8','Col9', 'Col10', 'Col11', 'Col12', 'Col13', 'Col14'])
Пример:
In [1]: datlist = [[i for i in '01234567890123'] for ii in range(10)] In [2]: datlist Out[2]: [['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3']] In [3]: pd.DataFrame(datlist, columns=range(len(datlist[0]))) Out[3]: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 0 1 2 3 4 5 6 7 8 9 0 1 2 3 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 0 1 2 3 4 5 6 7 8 9 0 1 2 3 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 6 0 1 2 3 4 5 6 7 8 9 0 1 2 3 7 0 1 2 3 4 5 6 7 8 9 0 1 2 3 8 0 1 2 3 4 5 6 7 8 9 0 1 2 3 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
Я не уверен, что вполне понимаю Ваш вопрос, но если Вы хотите разделить строки на символах табуляции, можно указать что как аргумент разделению:
line.split("\t").each ...
или можно указать его как регулярное выражение:
line.split(/\t/).each ...
Каждый в основном просто выполняет итерации через все объекты в массиве, и разделение производит массив из строки.