Ok, so the whole process is a lengthy customized piece of work, I'm not sure if you'll be able to work out a full solution on this forum (but you can try). I think you would likely have to involve multiple tools (perhaps including visual basic in outlook or a Google form). You can send me a private message if you want me to help you out in this matter. As for the merging of files you could try something like this (also attached):import os
import sys
print "Starting Merge..."
outputTableName="MergedTable.csv"
scriptFile=sys.argv[0]
scriptName=os.path.basename(scriptFile)
homePath=os.path.dirname(scriptFile)
toCSV="Lat,Long,Request,EmailAddress\n"
for aFile in os.listdir(homePath):
if aFile==scriptName:
continue #ignore this script file
if aFile==outputTableName:
continue #ignore the merged table if it is already existing in the folder
print " Working on: "+aFile
f=open(homePath+"\\"+aFile,"r")
txt=f.read()
f.close()
#Get SERIAL NUMBER:
serNum=os.path.splitext(aFile)[0]
#Get Email address:
email=txt.split("Email--")[1].split("\n")[0]
#Get All the GPS Coordinates:
latLongsTxt=txt.split("Mapped Lat/Lon--")[1].split("Map Graphic--")[0].strip()
latLongsTxt=latLongsTxt.replace('[','').replace(']','')
#Prepare text for output table:
for i in latLongsTxt.split(","):
latLong=i.replace("/",",").strip()
if latLong=="":
continue #skip null entries (for example if there is an extra comma at the end of the list)
toCSV+=latLong+","+serNum+","+email+"\n"
#Create CSV
if os.path.exists(homePath+"\\"+outputTableName):
os.remove(homePath+"\\"+outputTableName) #Remove file if it exists
f=open(homePath+"\\"+outputTableName,"a")
f.write(toCSV)
f.close()
print "Merge complete!\nNew table: "+outputTableName
raw_input("\nPress enter to exit.")
To run the script, just move the file to your folder containing the text emails (and nothing else) and run it (2x click should work). Note, this script is very dependent on the emails following the exact same format as the one provided. I would also take a copy of you folder containing text email before running on the main copy.