Python script for extracting all unique values from each tab of a spreadsheet.
Logs results in Output.csv in the same directory as .py file.
import pandas as pd
import xlrd
from tkinter import Tk
from tkinter import filedialog
def UniqueValuesFromSpreadsheet(WorkbookPath,sheet_name):
df=pd.DataFrame(pd.read_excel(WorkbookPath,sheetname=sheet_name, header=None,index_col=False))
df2=pd.unique(df.values.ravel())
return df2
Tk().withdraw()
filename=filedialog.askopenfilename()
SheetNames=xlrd.open_workbook(filename).sheet_names()
NumSheets=len(SheetNames)
Results={}
for i in range(0,NumSheets):
Results[SheetNames[i]] = UniqueValuesFromSpreadsheet(filename,i)
print(SheetNames[i], UniqueValuesFromSpreadsheet(filename,i))
with open('Output.csv', 'w') as f:
f.write('{0},{1}\n'.format("Sheet Name", "Value"))
for key in Results:
for i in range(0,len(Results[key])):
if str(Results[key][i]) != 'nan':
f.write('{0},{1}\n'.format(key, Results[key][i]))
print(key, Results[key][i])