我有一个python脚本可以从照片中提取元数据。这个脚本可以工作,我让所有东西都进入一个dataframe的一个列中,但是我不知道如何将每个数据放在它自己的列中。
这是我的剧本:
for file in os.listdir(rootdir):
try:
# read the image data using PIL
image = Image.open(os.path.join(rootdir, file))
# extract other basic metadata
info_dict = {
"FileName": os.path.basename(image.filename),
"FileSize": os.path.getsize(image.filename),
"FilePath": pathlib.Path(image.filename).suffix,
"DPI": image.info['dpi'][0],
"Height": image.height,
"Width": image.width,
"Format": image.format,
"Mode": image.mode,
"Frames": getattr(image, "n_frames", 1)
}
line = ""
for label in range (1):
line += r"\'{str(label)}\'"
line = ",".join([str(val) for val in info_dict.values()])
dpi = []
dpi.append(line)
DPIDf = pd.DataFrame(dpi)
DPIDf.columns = ['FileName']
print(DPIDf)到目前为止,我已经把所有内容都放到了dataframe的一个列中。我想知道的是如何获取并将info_dict中的每一段数据添加到它在dataframe中的列中。
我知道DPIDf.columns需要成为DPIDf.columns = ['FileName','FileSize','DPI','Height','Width', 'Format','Mode','Frames']
我只需要知道如何将每一段数据放到它自己的列中。
发布于 2022-07-27 15:10:37
info_list = []
for file in os.listdir(rootdir):
try:
# read the image data using PIL
image = Image.open(os.path.join(rootdir, file))
# extract other basic metadata
info_list.append([
os.path.basename(image.filename),
os.path.getsize(image.filename),
pathlib.Path(image.filename).suffix,
image.info['dpi'][0],
image.height,
image.width,
image.format,
image.mode,
getattr(image, "n_frames", 1)
])
except:
pass
DPIDf = pd.DataFrame(info_list, columns=["FileName", "FileSize", "FilePath", "DPI", "Height", "Width", "Format", "Mode", "Frames"])这是你要找的吗?
https://stackoverflow.com/questions/73140148
复制相似问题