我如何将列表转换为python数据框

时间:2019-03-27 15:10:11

标签: python pandas

我用于从图片中提取文本的循环。所以在将列表转换为python pandas dataframe时遇到错误。

info = []
for item in dirs:
    if os.path.isfile(path+item):
        for a in x:
            img = Image.open(path+item)
            crop = img.crop(a)
            text = pytesseract.image_to_string(crop)
            info.append(text)
df = pd.DataFrame([info], colnames=['col1','col2'])
df

预期结果:将数据按行存储在数据框中。

是,列表不是两个项目的列表。我有14个预定义的列。 这是另一个代码     对于我在范围(信息)中:         df.loc [i] = [范围(14)中n的信息)

2 个答案:

答案 0 :(得分:1)

请检查.DataFrame的文档 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html

创建数据框的行

  

df = pd.DataFrame([info],colnames = ['col1','col2']

最后缺少括号,使用colnames而不是columns,列表中有不必要的方括号,并且正在创建两列,而您只需要一列。

请提及确切错误

答案 1 :(得分:0)

我认为这里有两个问题。

首先,尽管[info]已经是一个列表,但是您正在传递给DataFrame info。您可以按原样传递此列表。

现在,您将一个项目列表作为参数传递,您正试图将该列表转换为具有两列的DataFrame:colnames=['col1','col2']。关键字是columns而不是colnames

我认为这就是问题所在。您列出的不是两个项目的列表(如[[a, b], [c, d]])。只需使用:

df = pd.DataFrame(info, columns=['col1'])

最佳