# ---------------------------------------------------------------
# IMAGE METADATA EXPORT
# ---------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# Importing dependencies
# ----------------------------------------------------------------------------------------------------------------------
from PIL.ExifTags import TAGS
from psd_tools import PSDImage
from pandas import ExcelWriter
from PIL import Image
from PIL.TiffTags import TAGS
import pandas as pd
import glob
# ----------------------------------------------------------------------------------------------------------------------
# Function to extract the metadata
# ----------------------------------------------------------------------------------------------------------------------
def get_exif(fn):
ret = {}
i = Image.open(fn)
info = i._getexif()
for tag, value in info.items():
decoded = TAGS.get(tag, tag)
ret[decoded] = value
return ret
# ----------------------------------------------------------------------------------------------------------------------
# JPG META DATA EXTRACT
# ----------------------------------------------------------------------------------------------------------------------
# Look the function through every file in folder.
jpgDir = "C:/IMAGES/TMP/"
final_jpg_df = pd.DataFrame()
for file in glob.glob(jpgDir + '*'):
try:
jpgdata = get_exif(file)
jpg_temp_df = pd.DataFrame([jpgdata])
jpg_temp_df = jpg_temp_df.loc[:, ['ExifImageWidth', 'ExifImageHeight']]
jpg_temp_df.rename(columns={'ExifImageWidth': 'WIDTH', 'ExifImageHeight': 'HEIGHT'}, inplace=True)
jpg_temp_df["PATH"] = file
jpg_temp_df["File_Name"] = jpg_temp_df["PATH"].str.split("\\").str[1]
final_jpg_df = final_jpg_df.append(jpg_temp_df)
except:
pass
# ----------------------------------------------------------------------------------------------------------------------
# PSD META DATA EXTRACT
# ----------------------------------------------------------------------------------------------------------------------
PSDDir = "C:/IMAGES/TEST/"
final_PSD_df = pd.DataFrame()
for psdfile in glob.glob(PSDDir + '*'):
try:
psd = PSDImage.open(psdfile)
psd_temp_df = pd.DataFrame([psd.size])
psd_temp_df.columns = ["WIDTH", "HEIGHT"]
psd_temp_df["PATH"] = psdfile
psd_temp_df["File_Name"] = psd_temp_df["PATH"].str.split("\\").str[1]
final_PSD_df = final_PSD_df.append(psd_temp_df)
except:
pass
# ----------------------------------------------------------------------------------------------------------------------
# EPS META DATA EXTRACT
# ----------------------------------------------------------------------------------------------------------------------
# EPSDir = "C:/IMAGES/TEST/"
# import pandas as pd
# import glob
#
# final_EPS_df = pd.DataFrame()
#
# for epsfile in glob.glob(EPSDir + '*'):
# try:
# eps = Image.open(epsfile)
# eps_temp_df = pd.DataFrame([eps.size])
# eps_temp_df.columns = ["WIDTH", "HEIGHT"]
# eps_temp_df["PATH"] = epsfile
# eps_temp_df["File_Name"] = eps_temp_df["PATH"].str.split("\\").str[1]
# final_EPS_df = final_EPS_df.append(eps_temp_df)
# except:
# pass
#
# final_EPS_df
# ----------------------------------------------------------------------------------------------------------------------
# EPS,TIF,PNG, GIF
# ----------------------------------------------------------------------------------------------------------------------
TIFDir = "C:/IMAGES/TEST/"
final_TIF_df = pd.DataFrame()
for tiffiles in glob.glob(TIFDir + '*'):
try:
tif = Image.open(tiffiles)
tif_temp_df = pd.DataFrame([tif.size])
tif_temp_df.columns = ["WIDTH", "HEIGHT"]
tif_temp_df["PATH"] = tiffiles
tif_temp_df["File_Name"] = tif_temp_df["PATH"].str.split("\\").str[1]
final_TIF_df = final_TIF_df.append(tif_temp_df)
except:
pass
final_TIF_df
# ----------------------------------------------------------------------------------------------------------------------
# COMBINING ALL
# ----------------------------------------------------------------------------------------------------------------------
frames = [final_jpg_df, final_PSD_df, final_TIF_df]
result = pd.concat(frames)
writer = ExcelWriter('ALL_METADATA.xlsx')
export_excel = result.to_excel(writer, 'Sheet1')
writer.save()