无法将“生成器”对象隐式转换为 str

问题描述

for i in range(len(parsed_data)):
c = [('.'.join(re.findall("\d+",str(parsed_data[i][j].split()[:5]))) for j in range(len(parsed_data[i])))]
df_list.append(c)
index.append(dates[k] + c[0])

错误

TypeError                                 Traceback (most recent call last)
<ipython-input-104-6babd754da6f> in <module>
      2     c = [('.'.join(re.findall("\d+",str(parsed_data[i][j].split()[:5]))) for j in range(len(parsed_data[i])))]
      3     df_list.append(c)
----> 4     index.append(dates[k] + c[0])

TypeError: Can't convert 'generator' object to str implicitly

解决方法

您的列表推导式周围有一对额外的括号,这使其成为包含生成器的单元素列表,而不是包含实际数据的列表。

替换:

[( '.'join... )]

与:

[ '.'join... ] # i.e. without the extra parentheses