2017-02-11 63 views
-1

我正在尝试做一些应该很简单的事情......但它不起作用。我认为我忽略了一个根本,但是我不能为了我的生活而弄清楚它是什么。无法解析附加字符串以列出错误

我有一个数据框,其中一些列以问题命名,另一列以空白命名。我想将列名与以下任何未命名列绑定在一起,并在下一个命名列出现时启动新列表。

例如,下面的列名:

Name? Age? Unnamed 1 Favourite soup? Unnamed 2 Unnamed 3 Turnip fan? 

我会寻找产生这些列表: '年龄'

  1. [ '?名称']
  2. [ , '未命名1']
  3. [ '喜爱的汤?', '未命名2', '3无名']
  4. [ '芜菁风扇?']

我想我会用简单的东西是这样的:

for col in dataframe.columns: 
    if col[:7] != 'Unnamed': 
     current_list = col 
    else: 
     current_list.append(col) 

但它产生错误AttributeError: 'str' object has no attribute 'append'。我究竟做错了什么?

+1

'current_list'是显然不是一个列表... –

+0

正如@ cricket_007说,current_list不是'list'对象和'str'对象有没有append方法,你可以看到'str'objects [here]的所有方法(https://docs.python.org/2/library/stdtypes.html#string-methods) –

+0

换句话说,你觉得'current_list = col'应该在做什么?它将一个列表分配给一个字符串,看起来像 –

回答

1

您有一个字符串col。但是您需要current_list作为列表,即使它只是一个元素的列表。

试试这个:

current_list = [ col ] 
+0

哇。这很尴尬。感谢真正明显的修复! – user4896331