Python基于分隔符重塑字符串列表

时间:2016-07-01 00:31:15

标签: python list pandas

我从Rest API调用返回管道分隔数据:

wall/%

我从第一个“行”中提取了标题信息并将其拆分为一个列表:

data = ['Bob|37', 'Eric|40']

我想把它读成一个pandas数据帧:

column_list = ['Name','Age']

不出所料,它抱怨数据形状错误

  

“ValueError:传递值的形状为(1,2),索引暗示(2,2)”

在数据列表中拆分字符串以便在数据框中加载字符串的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

试试这个:

data = ['Bob|37', 'Eric|40']

df = pd.Series(data).str.split('|', expand=True)
df.columns = ['Name', 'Age']
print df

   Name Age
0   Bob  37
1  Eric  40

答案 1 :(得分:1)

以下是另一种单线解决方案(使用.str.extract())函数:

In [20]: df = pd.Series(data).str.extract(r'(?P<Name>.*?)\|(?P<Age>.*)', expand=True)

In [21]: df
Out[21]:
   Name Age
0   Bob  37
1  Eric  40