импорт текста в pandas с несколькими разделителями
у меня есть некоторые данные, что выглядит так:
c stuff
c more header
c begin data
1 1:.5
1 2:6.5
1 3:5.3
Я хочу импортировать его в фрейм данных 3 столбца, со столбцами, например
a , b, c
1, 1, 0.5
etc
Я пытался прочитать в данных, как 2 столбца разделились на":", а затем разделить первый столбец на"". Однако меня это раздражает. Есть ли лучший способ разобраться в этом непосредственно при импорте?
:data1 = pd.read_csv(file_loc, skiprows = 3, delimiter = ':', names = ['AB', 'C'])
data2 = pd.DataFrame(data1.AB.str.split(' ',1).tolist(), names = ['A','B'])
однако это еще более осложняется тем, что мои данные имеют ведущий пространство...
Я чувствую, что это должна быть простая задача, но в настоящее время я думаю прочитать ее строка за строкой и использовать некоторые найти замену для очистки данных перед импортом.
1 ответов
одним из способов может быть использование разделителей регулярных выражений, разрешенных движком python. Например:
>>> !cat castle.dat
c stuff
c more header
c begin data
1 1:.5
1 2:6.5
1 3:5.3
>>> df = pd.read_csv('castle.dat', skiprows=3, names=['a', 'b', 'c'],
sep=' |:', engine='python')
>>> df
a b c
0 1 1 0.5
1 1 2 6.5
2 1 3 5.3