所以我尝试使用令人难以置信的Pandastable来显示csv文件中的jpeg-exif数据。我正在用exifrad处理这些文件,将其写入csv,然后用Pandastable在计算机上导入tk.按钮单击以下代码:
def load_file():
fname = askopenfilename(filetypes=(("JPEG/TIFF files", "*.jpg;*.tiff"),
("All files", "*.*")))
f = open(fname,'r')
fdata.update(exifread.process_file(f, details=False))
with open('tempdata.csv', 'a') as f:
w = csv.DictWriter(f, fdata.keys(),extrasaction="raise")
w.writeheader()
w.writerow(fdata)
datatable.importCSV('tempdata.csv')
我的问题是每个文件都有可变的数据字段,因此img1可能有50个字段,而img2可能有51个字段。这将引发以下错误:
cparserror:标记数据时出错。C错误:第13行中预期有50个字段,saw 51
所以我想做的是,如果img2有额外的数据字段,它会将这些字段添加到表中。你知道吗
我试着先在自己的字典中创建一个所有数据字段的列表,但是由于exifrad的工作方式,这似乎不太好用,因为标签有很多不同的变体-我还希望将其扩展到其他文件类型,这将使其难以维护。你知道吗
我也不想忽略这些专栏,因为大多数其他类似的问题都有答案。你知道吗
你知道我该如何快速添加这些列吗?你知道吗
以下是我如何借助马特的评论将其破解的:
“df”随后被用作tkinter上pandastable的数据帧。你知道吗
下面是一个基本的例子。我不确定你的最终结果是什么。你想把两个数据帧合并成一个吗?你知道吗
编辑:或者你可以做
df[str(columns)] = df2[str(columns)]
或者类似的事情。你知道吗相关问题 更多 >
编程相关推荐