如何将列表转换为python数据帧
我使用for循环从图像中提取文本。所以我在将列表转换为python数据帧时遇到错误如何将列表转换为python数据帧,python,pandas,Python,Pandas,我使用for循环从图像中提取文本。所以我在将列表转换为python数据帧时遇到错误 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 = []
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
预期结果:数据存储在dataframe行中
是列表不是包含两项的列表。我有14个预定义的列。 这是另一个代码 对于范围内的i(信息):
df.loc[i]=[info for n in range(14))我认为这里有两个问题 首先,您正在传递到数据帧
[info]
,尽管info
已经是一个列表。您可以按原样传递此列表
现在,您已经将一个项目列表作为参数传递,您正在尝试将该列表转换为具有两列的数据帧:colnames=['col1','col2']
。关键字是columns
而不是colnames
我认为这就是问题所在。您的列表不是一个包含两项的列表(如[[a,b],[c,d]]
)。只需使用:
df = pd.DataFrame(info, columns=['col1'])
最佳请查看文档中的.DataFrame 在其中创建数据帧的行 df=pd.DataFrame([info],colnames=['col1','col2'] 结尾缺少括号,使用colnames而不是columns,列表周围有不必要的方括号,并且正在创建两个只需要一个列的列
请提到确切的错误分享错误会很有用(请更新问题)
df=pd.DataFrame({'col1':info,'col2':info})
Not working@ildf=pd.DataFrame(info)在没有预定义列时使用。所以我认为这一个是行不通的。Yes list不是两个iteam的列表。