<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Batch import Excel files for processing in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/batch-import-excel-files-for-processing/m-p/628087#M48914</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm trying to write a script tool for one of our field biologists to process data.&amp;nbsp; XY data is contained in several excel files all saved to the same folder.&amp;nbsp; I'm using the table to table tool (Conversion tools) followed by Make XY Event Layer (Data Management).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've tried the ListTables() command, but it isn't finding any of the .xls files.&amp;nbsp; Here is an example of my code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;arcpy.env.workspace = "C:/Documents and Settings/RHewitt/Desktop/SAV Report files 2010/"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;outPath = "C:/Documents and Settings/RHewitt/Desktop/SAV Report files 2010/Output/"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Local variables:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;xVal = "Longitude"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;yVal = "Latitude"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;projWGS = "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]];-400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119521E-09;0.001;0.001;IsHighPrecision"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# List all files in folder, then list all tables in file&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fileList = arcpy.ListFiles()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;tableList = arcpy.ListTables()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop through each table&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for file in fileList:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for table in tableList:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Convert excel to DBF, make XY event layer, save to output&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.TableToTable_conversion(table, outpath, table)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.MakeXYEventLayer_management(table, xVal, yVal, "now_" + table, projWGS)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CopyFeatures_management("now_" + table, outpath + table)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print arcpy.GetMessages()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Roy&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 12 Aug 2011 14:36:14 GMT</pubDate>
    <dc:creator>RoyHewitt</dc:creator>
    <dc:date>2011-08-12T14:36:14Z</dc:date>
    <item>
      <title>Batch import Excel files for processing</title>
      <link>https://community.esri.com/t5/python-questions/batch-import-excel-files-for-processing/m-p/628087#M48914</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm trying to write a script tool for one of our field biologists to process data.&amp;nbsp; XY data is contained in several excel files all saved to the same folder.&amp;nbsp; I'm using the table to table tool (Conversion tools) followed by Make XY Event Layer (Data Management).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've tried the ListTables() command, but it isn't finding any of the .xls files.&amp;nbsp; Here is an example of my code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;arcpy.env.workspace = "C:/Documents and Settings/RHewitt/Desktop/SAV Report files 2010/"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;outPath = "C:/Documents and Settings/RHewitt/Desktop/SAV Report files 2010/Output/"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Local variables:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;xVal = "Longitude"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;yVal = "Latitude"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;projWGS = "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]];-400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119521E-09;0.001;0.001;IsHighPrecision"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# List all files in folder, then list all tables in file&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fileList = arcpy.ListFiles()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;tableList = arcpy.ListTables()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop through each table&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for file in fileList:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for table in tableList:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Convert excel to DBF, make XY event layer, save to output&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.TableToTable_conversion(table, outpath, table)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.MakeXYEventLayer_management(table, xVal, yVal, "now_" + table, projWGS)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CopyFeatures_management("now_" + table, outpath + table)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print arcpy.GetMessages()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Roy&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Aug 2011 14:36:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/batch-import-excel-files-for-processing/m-p/628087#M48914</guid>
      <dc:creator>RoyHewitt</dc:creator>
      <dc:date>2011-08-12T14:36:14Z</dc:date>
    </item>
    <item>
      <title>Re: Batch import Excel files for processing</title>
      <link>https://community.esri.com/t5/python-questions/batch-import-excel-files-for-processing/m-p/628088#M48915</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You will need to specify which files to search for in the 'arcpy.ListFiles' function.&amp;nbsp; Also, you will need to specify the Sheet # when executing the 'arcpy.TabletoTable_conversion' tool when working with Excel files.&amp;nbsp; Ex:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;lstFiles = arcpy.ListFiles(&lt;STRONG&gt;"*.xls"&lt;/STRONG&gt;)
for file in lstFiles:
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.TableToTable_conversion(file + "\\" + "Sheet1$", outpath, "test.dbf")&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:45:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/batch-import-excel-files-for-processing/m-p/628088#M48915</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2021-12-12T02:45:21Z</dc:date>
    </item>
    <item>
      <title>Re: Batch import Excel files for processing</title>
      <link>https://community.esri.com/t5/python-questions/batch-import-excel-files-for-processing/m-p/628089#M48916</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Recently, I have just finished my &lt;/SPAN&gt;&lt;A href="http://www.rasteredge.com/how-to/vb-net-imaging/excel-reading/"&gt;excel&lt;/A&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;A href="http://www.rasteredge.com/how-to/vb-net-imaging/excel-processing/"&gt;processing&lt;/A&gt;&lt;SPAN&gt; application, which acts as one of the most important functions of excel document reading, edting and saving sdk package.&amp;nbsp; I am not sure which kind of specific excel processing function you are prorgamming. Broadly speaking, the excel document managing and editing library usually contains the basic excel spreadsheets handling, such as excel page inserting, deleting, sorting, and excel documents splitting and merging as well as adding image to excel page and extracting one or more excel pages.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 04 May 2014 03:24:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/batch-import-excel-files-for-processing/m-p/628089#M48916</guid>
      <dc:creator>HILLARYHALL</dc:creator>
      <dc:date>2014-05-04T03:24:11Z</dc:date>
    </item>
    <item>
      <title>Re: Batch import Excel files for processing</title>
      <link>https://community.esri.com/t5/python-questions/batch-import-excel-files-for-processing/m-p/628090#M48917</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;At ArcGIS 10.2.1 there are new python modules included called XLRD and XLWT which are excellent modules for reading spreadsheets and extracting the data. It can handle multiple sheets and can pick out any cell or range of cells. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Don't bother trying to use the new Excel to Table tool unless the data is already in a suitable format with valid field names etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is an example of reading the 4th sheet that was not formatted for a database, no header field names and lots of comments all over the sheet. I needed three columns in the middle of the sheet.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;By the way watch for new uses of Sqlite with spatial extensions as Spatialite and the OSGEO recent standard &lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://www.opengeospatial.org/standards/geopackage" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.opengeospatial.org/standards/geopackage&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#-------------------------------------------------------------------------------
# Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadXLS
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read Table 4 from 68 spreadsheets to get Unoccupied Dwellings
# Purpose:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read Stats spreadsheets into a Sqlite database that cannot
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; be read by FME, ArcGIS or anything other than Excel
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; saves writing out to CSV first
# Author:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kimo
#
# Created:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/05/2014
# Copyright:&amp;nbsp;&amp;nbsp; (c) kimo 2014
# Licence:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Creative Commons
#-------------------------------------------------------------------------------
import xlrd # installed with ArcGIS 10.2 by default
import sys,os
import re
import glob
import sqlite3
import arcpy # only needed for final message

pat = re.compile("^[0-9]{6}") # pattern of AU code in AU name in Column 0 ("A")
dType = {0:'Empty', 1:'Text', 2:'Number', 3:'Date', 4:'Boolean', 5:'Error', 6:'Blank'}

def extract_tla(filename):
&amp;nbsp;&amp;nbsp;&amp;nbsp; '''extract Unoccupied Dwellings'''
&amp;nbsp;&amp;nbsp;&amp;nbsp; workbook = xlrd.open_workbook(filename)
&amp;nbsp;&amp;nbsp;&amp;nbsp; worksheet = workbook.sheet_by_name('Table 4')
&amp;nbsp;&amp;nbsp;&amp;nbsp; num_rows = worksheet.nrows
&amp;nbsp;&amp;nbsp;&amp;nbsp; num_cells = worksheet.ncols
&amp;nbsp;&amp;nbsp;&amp;nbsp; rec = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; for curr_row in range(num_rows):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; curr_col = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cellAn = worksheet.cell_value(curr_row, curr_col)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cell_type0 = worksheet.cell_type(curr_row, curr_col)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if cell_type0 == 1 and pat.match(cellAn):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = str(worksheet.cell_value(curr_row,curr_col))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; val = [a[0:6],a[7:]]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for curr_col in range(1,4):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count = worksheet.cell_value(curr_row,curr_col)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if count == '-':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else :
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n = int(count)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; val.append(n)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rec+=1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print val
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insert_ud_row(udTable,val)
&amp;nbsp;&amp;nbsp;&amp;nbsp; # print "Records found",rec
&amp;nbsp;&amp;nbsp;&amp;nbsp; # fields au2013,auname,ud2001,ud2006,ud2013
&amp;nbsp;&amp;nbsp;&amp;nbsp; return rec

def create_ud_tab(conn,udTable):
&amp;nbsp;&amp;nbsp;&amp;nbsp; # (re-)create a table
&amp;nbsp;&amp;nbsp;&amp;nbsp; c = conn.cursor()
&amp;nbsp;&amp;nbsp;&amp;nbsp; c.execute('''DROP TABLE IF EXISTS '''+ udTable)
&amp;nbsp;&amp;nbsp;&amp;nbsp; c.execute('''CREATE TABLE '''+udTable+''' (
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; au&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text NOT NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; auname&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text ,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ud2001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ud2006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ud2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer )''')
&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.commit()
&amp;nbsp;&amp;nbsp;&amp;nbsp; c.close()
&amp;nbsp;&amp;nbsp;&amp;nbsp; return

def insert_ud_row(outTab,row):
&amp;nbsp;&amp;nbsp;&amp;nbsp; '''insert a row
&amp;nbsp;&amp;nbsp;&amp;nbsp; requires a sqlite database to be connected
&amp;nbsp;&amp;nbsp;&amp;nbsp; and a cursor to be open
&amp;nbsp;&amp;nbsp;&amp;nbsp; '''
&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd = "INSERT INTO " + outTab + " VALUES (" + (",?"*(len(row)))[1:] + ")"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # implied transaction already opened
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.execute(cmd,row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; except Exception,msg:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print msg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print row
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print cmd
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.rollback()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.close()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.exit()

# -------------------------------------------------------------------------
if __name__ == '__main__':
&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_folder = sys.arg[1]
&amp;nbsp;&amp;nbsp;&amp;nbsp; except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_folder = 'C:/data/census2013/source'
&amp;nbsp;&amp;nbsp;&amp;nbsp; os.chdir(source_folder)
&amp;nbsp;&amp;nbsp;&amp;nbsp; conn = sqlite3.connect('C:/data/census2013/dwelling.sqlite')
&amp;nbsp;&amp;nbsp;&amp;nbsp; udTable = 'DwellingEmptyAU'
&amp;nbsp;&amp;nbsp;&amp;nbsp; create_ud_tab(conn,udTable)
&amp;nbsp;&amp;nbsp;&amp;nbsp; # Open a cursor and insert records from all the spreadsheets
&amp;nbsp;&amp;nbsp;&amp;nbsp; c = conn.cursor()
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "sqlite database successfully opened"
&amp;nbsp;&amp;nbsp;&amp;nbsp; trec = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; lstXLS = glob.glob('*.xls')
&amp;nbsp;&amp;nbsp;&amp;nbsp; for x in lstXLS:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rec = extract_tla(x)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trec+=rec
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print rec,x
&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.commit()
&amp;nbsp;&amp;nbsp;&amp;nbsp; c.close()
&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.close()
&amp;nbsp;&amp;nbsp;&amp;nbsp; msg = '{} Total records inserted into {}'.format(trec,udTable)
&amp;nbsp;&amp;nbsp;&amp;nbsp; print msg
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddMessage(msg)
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:45:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/batch-import-excel-files-for-processing/m-p/628090#M48917</guid>
      <dc:creator>KimOllivier</dc:creator>
      <dc:date>2021-12-12T02:45:24Z</dc:date>
    </item>
  </channel>
</rss>

