2016-10-21 2 views
2

Я работаю на текстовый файл, как это:Split один столбец кадр данных в кадре данных с несколькими столбцами

RES MON VOLUMEm3 FLOW_INcms FLOW_OUTcms 
1 1  0.8099E+05 0.1115E-01 0.0000E+00 
2 1  0.0000E+00 0.0000E+00 0.0000E+00 
3 1  0.2435E+05 0.0000E+00 0.0000E+00 

Так что, когда я открываю его в качестве кадра данных, в выходной I получил информационную рамку только с одной колонкой

data = pd.read_csv(os.path.join(out, 'EDMA_1_rcp26_2025_1_output.rsv'), skiprows = 8, header = 0) 

Как разбить этот фрейм данных на несколько столбцов с именами столбцов из заголовка?

ответ

3

Предполагая, что значения разделяются пробелами, вы можете указать дополнительный delimiter параметр с регулярным выражением:

pd.read_csv('test.txt', delimiter=r'\s+') 

С его помощью на наборе данных, я получаю:

RES MON VOLUMEm3 FLOW_INcms FLOW_OUTcms 
0 1 1 80990.0  0.01115   0.0 
1 2 1  0.0  0.00000   0.0 
2 3 1 24350.0  0.00000   0.0 
+0

Этот метод определенно работает, но по какой-то причине в моем заголовке выходной таблицы перемещен вправо, так что теперь имена столбцов не совпадают со значениями в нем. –

+0

Что такое заголовок первого столбца? Blank? Если это так, начинается ли ваш файл с какого-то пробела? Кроме того, есть * все * заполненных строк? – brianpck

+0

Да, заголовок первого столбца пуст. Как я могу изменить свой код, чтобы настроить пустой заголовок столбца? –

Смежные вопросы