<?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 ArcGIS10.0-PythonWindow:Bring the text data into file geodatabase-wrong date!!! in Transportation Questions</title>
    <link>https://community.esri.com/t5/transportation-questions/arcgis10-0-pythonwindow-bring-the-text-data-into/m-p/573039#M1891</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I executed the following script on the attached txt file:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;gt;&amp;gt;&amp;gt; # open the text file, read it into memory
... file = open('c:/testing/lat-lon-date-conversions.txt').read().splitlines()
... # define a new, empty list object
... l = []
... # iterate through the lines of the file, slice up the line by index
... #&amp;nbsp;&amp;nbsp; position of each data column
... for line in file:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v1 = line[0:8].strip()&amp;nbsp; # lat dms
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v2 = v1[0:2]&amp;nbsp; # lat deg
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v3 = v1[2:4]&amp;nbsp; # lat min
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v4 = v1[4:6]+'.'+v1[6:8]&amp;nbsp; # lat sec
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v5 = str(int(v2)+(float(v3)/60)+(float(v4)/3600))&amp;nbsp; # lat dd
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v6 = line[9:23].strip()&amp;nbsp; # lon dms
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v7 = v6[0:3]&amp;nbsp; # lon deg
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v8 = v6[3:5]&amp;nbsp; # lon min
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v9 = v6[5:7]+'.'+v6[7:9]&amp;nbsp; # lon sec
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v10 = str('-'+str(int(v7)+(float(v8)/60)+float(v9)/3600))&amp;nbsp; # lon dd
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v11 = line[19:23]&amp;nbsp; # date as MMYY
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v12 = str(v11[0:2])+'/'+str(v11[2:4])&amp;nbsp; # concatenate date as MM/YY
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # add our line to list l
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # do string formatting to lat/long to display only 5 decimal points
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l.extend([[('%.5f' % float(v5)),('%.5f' % float(v10)),v12]])
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # print out each line to stdout
... for each in l:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print each
... 
['36.44000', '-94.03667', '06/94']

['36.44000', '-94.04833', '06/94']

['33.09167', '-93.90333', '09/05']

['33.02667', '-93.89167', '07/05']

['34.34111', '-93.50056', '05/06']

['34.24833', '-93.67667', '01/07']

['34.22500', '-93.89500', '07/06']

['33.76833', '-92.48500', '07/06']

['33.74500', '-92.47667', '07/06']

['33.68000', '-92.46667', '07/06']

&amp;gt;&amp;gt;&amp;gt; import csv
... &amp;gt;&amp;gt;&amp;gt; # open and read the csv file into memory
... &amp;gt;&amp;gt;&amp;gt; file = open('C:/testing/simple-csv.csv')
... &amp;gt;&amp;gt;&amp;gt; reader = csv.reader(file)
... &amp;gt;&amp;gt;&amp;gt; # iterate through the lines and print them to stdout
... &amp;gt;&amp;gt;&amp;gt; # the csv module returns us a list of lists and we
... &amp;gt;&amp;gt;&amp;gt; #&amp;nbsp; simply iterate through it
... &amp;gt;&amp;gt;&amp;gt; for line in reader:
... ...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print line
... ...
... 
Parsing error &amp;lt;type 'exceptions.SyntaxError'&amp;gt;: invalid syntax (line 2)
&amp;gt;&amp;gt;&amp;gt; import csv
&amp;gt;&amp;gt;&amp;gt; file = open('C:/testing/simple-csv.csv')
&amp;gt;&amp;gt;&amp;gt; reader = csv.reader(file)
&amp;gt;&amp;gt;&amp;gt; for line in reader:
... ...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print line
... ...
... 
Parsing error &amp;lt;type 'exceptions.IndentationError'&amp;gt;: expected an indented block (line 2)
&amp;gt;&amp;gt;&amp;gt; for line in reader:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print line
...&amp;nbsp; 
... 
['34.79038,-96.80871."4/13/1983"']

['34.93032,-96.44490,"2/5/1967"']

['34.95507,-96.92268,"12/23/2001"']

['34.95689,-96.92263,"8/9/1999"']

['34.92559,-96.68021,"8/25/1954"']

&amp;gt;&amp;gt;&amp;gt; import csv
&amp;gt;&amp;gt;&amp;gt; file = open('C:/testing/simple-csv.csv')
&amp;gt;&amp;gt;&amp;gt; reader = csv.reader(file)
&amp;gt;&amp;gt;&amp;gt; for line in reader:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print line
... 
['34.79038,-96.80871,"4/13/1983"']

['34.93032,-96.44490,"2/5/1967"']

['34.95507,-96.92268,"12/23/2001"']

['34.95689,-96.92263,"8/9/1999"']

['34.92559,-96.68021,"8/25/1954"']

&amp;gt;&amp;gt;&amp;gt; import arcgisscripting, csv, os
... gp = arcgisscripting.create()
... # Here we have three custom functions we will call later in our code
... def killObject( object ):
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """ Kills an input object """
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if gp.Exists(object):
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.Delete_management(object)
... def makeFgdb( dir, db, fd, spatRef ):
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """ Create a file geodatabase and featuredataset """
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if os.path.isdir(dir) != 1:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; os.mkdir(dir)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; killObject( os.path.join(dir, db) )
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.CreateFileGDB_management(dir, db)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.CreateFeatureDataset_management(os.path.join(dir, db), fd, spatRef)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
... def createGdbTable( db, table, fields ):
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """ Creates an empty standalone GDB table and adds fields provided in a list 
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - with a set schema """
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; killObject(db + '/' + table)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.CreateTable(db, table)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for field in fields:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if field[1] == 'TEXT':
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.AddField_management(db + '/' + table,field[0],field[1],'#','#',field[2],field[3],'NULLABLE','NON_REQUIRED','#')
...&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; gp.AddField_management(db + '/' + table,field[0],field[1],'#','#','#',field[3],'NULLABLE','NON_REQUIRED','#')
... # our spatial reference, this can be copied from a prj file
... sr = 'GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],\
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]'
... # our list of fields and their properties:
... #&amp;nbsp;&amp;nbsp; [field_name,field_type,field_length (zero for non-text fields),field_alias]
... fields = [['LAT','DOUBLE','0','Latitude'],
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ['LON','DOUBLE','0','Longitude'],
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ['SOMEDATE','TEXT','6','Some Date']]
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
... # create our new file geodatabase to work with
... makeFgdb( 'C:/Testing', 'NBI.gdb', 'Bridges', sr )
... # create our standalone geodatabase table and its schema
... createGdbTable( 'C:/Testing/NBI.gdb', 'Test', fields )
... # start slurping our text file into gdb table
... # create a cursor on the table
... rows = gp.InsertCursor('C:/Testing/NBI.gdb/Test')
... # open the text file, read it into memory
... file = open('c:/Testing/lat-lon-date-conversions.txt').read().splitlines()
... # define a new, empty list object
... l = []
... # iterate through the lines of the file, slice up the line by index
... #&amp;nbsp;&amp;nbsp; position of each data column
... for line in file:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v1 = line[0:8].strip()&amp;nbsp; # lat dms
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v2 = v1[0:2]&amp;nbsp; # lat deg
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v3 = v1[2:4]&amp;nbsp; # lat min
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v4 = v1[4:6]+'.'+v1[6:8]&amp;nbsp; # lat sec
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v5 = str(int(v2)+(float(v3)/60)+(float(v4)/3600))&amp;nbsp; # lat dd
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v6 = line[9:18].strip()&amp;nbsp; # lon dms
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v7 = v6[0:3]&amp;nbsp; # lon deg
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v8 = v6[3:5]&amp;nbsp; # lon min
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v9 = v6[5:7]+'.'+v6[7:9]&amp;nbsp; # lon sec
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v10 = str('-'+str(int(v7)+(float(v8)/60)+float(v9)/3600))&amp;nbsp; # lon dd
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v11 = line[18:23]&amp;nbsp; # date as MMYY
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v12 = str(v11[0:2])+'/'+str(v11[2:4])&amp;nbsp; # concatenate date as MM/YY
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # add our line to list l
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # do string formatting to lat/long to only display 5 decimal points
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l.extend([[('%.5f' % float(v5)),('%.5f' % float(v10)),v12]])
... ln = 0
... # iterate through our data
... for line in l:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t = 0
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # create a new row
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row = rows.NewRow()
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # iterate through the fields
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for field in fields:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; val = line&lt;T&gt;.strip()
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # set the value for each field
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if field[1] == 'DOUBLE':
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.SetValue(field[0], '%.5f' % float(val))
...&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; row.SetValue(field[0], val)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t = t + 1
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # insert the row into the table
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.InsertRow(row)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ln = ln + 1
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; del row
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; del t
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; del line
... del rows
... 
&amp;gt;&amp;gt;&amp;gt; &lt;/T&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It worked. But the dates in the column "Some Date" are weird - see the attached mxd file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please kindly help and advise me how I can fix it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Scott Chang&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 00:40:04 GMT</pubDate>
    <dc:creator>ScottChang</dc:creator>
    <dc:date>2021-12-12T00:40:04Z</dc:date>
    <item>
      <title>ArcGIS10.0-PythonWindow:Bring the text data into file geodatabase-wrong date!!!</title>
      <link>https://community.esri.com/t5/transportation-questions/arcgis10-0-pythonwindow-bring-the-text-data-into/m-p/573039#M1891</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I executed the following script on the attached txt file:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;gt;&amp;gt;&amp;gt; # open the text file, read it into memory
... file = open('c:/testing/lat-lon-date-conversions.txt').read().splitlines()
... # define a new, empty list object
... l = []
... # iterate through the lines of the file, slice up the line by index
... #&amp;nbsp;&amp;nbsp; position of each data column
... for line in file:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v1 = line[0:8].strip()&amp;nbsp; # lat dms
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v2 = v1[0:2]&amp;nbsp; # lat deg
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v3 = v1[2:4]&amp;nbsp; # lat min
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v4 = v1[4:6]+'.'+v1[6:8]&amp;nbsp; # lat sec
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v5 = str(int(v2)+(float(v3)/60)+(float(v4)/3600))&amp;nbsp; # lat dd
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v6 = line[9:23].strip()&amp;nbsp; # lon dms
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v7 = v6[0:3]&amp;nbsp; # lon deg
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v8 = v6[3:5]&amp;nbsp; # lon min
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v9 = v6[5:7]+'.'+v6[7:9]&amp;nbsp; # lon sec
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v10 = str('-'+str(int(v7)+(float(v8)/60)+float(v9)/3600))&amp;nbsp; # lon dd
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v11 = line[19:23]&amp;nbsp; # date as MMYY
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v12 = str(v11[0:2])+'/'+str(v11[2:4])&amp;nbsp; # concatenate date as MM/YY
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # add our line to list l
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # do string formatting to lat/long to display only 5 decimal points
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l.extend([[('%.5f' % float(v5)),('%.5f' % float(v10)),v12]])
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # print out each line to stdout
... for each in l:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print each
... 
['36.44000', '-94.03667', '06/94']

['36.44000', '-94.04833', '06/94']

['33.09167', '-93.90333', '09/05']

['33.02667', '-93.89167', '07/05']

['34.34111', '-93.50056', '05/06']

['34.24833', '-93.67667', '01/07']

['34.22500', '-93.89500', '07/06']

['33.76833', '-92.48500', '07/06']

['33.74500', '-92.47667', '07/06']

['33.68000', '-92.46667', '07/06']

&amp;gt;&amp;gt;&amp;gt; import csv
... &amp;gt;&amp;gt;&amp;gt; # open and read the csv file into memory
... &amp;gt;&amp;gt;&amp;gt; file = open('C:/testing/simple-csv.csv')
... &amp;gt;&amp;gt;&amp;gt; reader = csv.reader(file)
... &amp;gt;&amp;gt;&amp;gt; # iterate through the lines and print them to stdout
... &amp;gt;&amp;gt;&amp;gt; # the csv module returns us a list of lists and we
... &amp;gt;&amp;gt;&amp;gt; #&amp;nbsp; simply iterate through it
... &amp;gt;&amp;gt;&amp;gt; for line in reader:
... ...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print line
... ...
... 
Parsing error &amp;lt;type 'exceptions.SyntaxError'&amp;gt;: invalid syntax (line 2)
&amp;gt;&amp;gt;&amp;gt; import csv
&amp;gt;&amp;gt;&amp;gt; file = open('C:/testing/simple-csv.csv')
&amp;gt;&amp;gt;&amp;gt; reader = csv.reader(file)
&amp;gt;&amp;gt;&amp;gt; for line in reader:
... ...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print line
... ...
... 
Parsing error &amp;lt;type 'exceptions.IndentationError'&amp;gt;: expected an indented block (line 2)
&amp;gt;&amp;gt;&amp;gt; for line in reader:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print line
...&amp;nbsp; 
... 
['34.79038,-96.80871."4/13/1983"']

['34.93032,-96.44490,"2/5/1967"']

['34.95507,-96.92268,"12/23/2001"']

['34.95689,-96.92263,"8/9/1999"']

['34.92559,-96.68021,"8/25/1954"']

&amp;gt;&amp;gt;&amp;gt; import csv
&amp;gt;&amp;gt;&amp;gt; file = open('C:/testing/simple-csv.csv')
&amp;gt;&amp;gt;&amp;gt; reader = csv.reader(file)
&amp;gt;&amp;gt;&amp;gt; for line in reader:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print line
... 
['34.79038,-96.80871,"4/13/1983"']

['34.93032,-96.44490,"2/5/1967"']

['34.95507,-96.92268,"12/23/2001"']

['34.95689,-96.92263,"8/9/1999"']

['34.92559,-96.68021,"8/25/1954"']

&amp;gt;&amp;gt;&amp;gt; import arcgisscripting, csv, os
... gp = arcgisscripting.create()
... # Here we have three custom functions we will call later in our code
... def killObject( object ):
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """ Kills an input object """
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if gp.Exists(object):
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.Delete_management(object)
... def makeFgdb( dir, db, fd, spatRef ):
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """ Create a file geodatabase and featuredataset """
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if os.path.isdir(dir) != 1:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; os.mkdir(dir)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; killObject( os.path.join(dir, db) )
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.CreateFileGDB_management(dir, db)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.CreateFeatureDataset_management(os.path.join(dir, db), fd, spatRef)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
... def createGdbTable( db, table, fields ):
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """ Creates an empty standalone GDB table and adds fields provided in a list 
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - with a set schema """
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; killObject(db + '/' + table)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.CreateTable(db, table)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for field in fields:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if field[1] == 'TEXT':
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.AddField_management(db + '/' + table,field[0],field[1],'#','#',field[2],field[3],'NULLABLE','NON_REQUIRED','#')
...&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; gp.AddField_management(db + '/' + table,field[0],field[1],'#','#','#',field[3],'NULLABLE','NON_REQUIRED','#')
... # our spatial reference, this can be copied from a prj file
... sr = 'GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],\
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]'
... # our list of fields and their properties:
... #&amp;nbsp;&amp;nbsp; [field_name,field_type,field_length (zero for non-text fields),field_alias]
... fields = [['LAT','DOUBLE','0','Latitude'],
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ['LON','DOUBLE','0','Longitude'],
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ['SOMEDATE','TEXT','6','Some Date']]
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
... # create our new file geodatabase to work with
... makeFgdb( 'C:/Testing', 'NBI.gdb', 'Bridges', sr )
... # create our standalone geodatabase table and its schema
... createGdbTable( 'C:/Testing/NBI.gdb', 'Test', fields )
... # start slurping our text file into gdb table
... # create a cursor on the table
... rows = gp.InsertCursor('C:/Testing/NBI.gdb/Test')
... # open the text file, read it into memory
... file = open('c:/Testing/lat-lon-date-conversions.txt').read().splitlines()
... # define a new, empty list object
... l = []
... # iterate through the lines of the file, slice up the line by index
... #&amp;nbsp;&amp;nbsp; position of each data column
... for line in file:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v1 = line[0:8].strip()&amp;nbsp; # lat dms
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v2 = v1[0:2]&amp;nbsp; # lat deg
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v3 = v1[2:4]&amp;nbsp; # lat min
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v4 = v1[4:6]+'.'+v1[6:8]&amp;nbsp; # lat sec
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v5 = str(int(v2)+(float(v3)/60)+(float(v4)/3600))&amp;nbsp; # lat dd
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v6 = line[9:18].strip()&amp;nbsp; # lon dms
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v7 = v6[0:3]&amp;nbsp; # lon deg
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v8 = v6[3:5]&amp;nbsp; # lon min
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v9 = v6[5:7]+'.'+v6[7:9]&amp;nbsp; # lon sec
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v10 = str('-'+str(int(v7)+(float(v8)/60)+float(v9)/3600))&amp;nbsp; # lon dd
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v11 = line[18:23]&amp;nbsp; # date as MMYY
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v12 = str(v11[0:2])+'/'+str(v11[2:4])&amp;nbsp; # concatenate date as MM/YY
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # add our line to list l
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # do string formatting to lat/long to only display 5 decimal points
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l.extend([[('%.5f' % float(v5)),('%.5f' % float(v10)),v12]])
... ln = 0
... # iterate through our data
... for line in l:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t = 0
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # create a new row
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row = rows.NewRow()
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # iterate through the fields
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for field in fields:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; val = line&lt;T&gt;.strip()
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # set the value for each field
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if field[1] == 'DOUBLE':
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.SetValue(field[0], '%.5f' % float(val))
...&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; row.SetValue(field[0], val)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t = t + 1
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # insert the row into the table
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.InsertRow(row)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ln = ln + 1
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; del row
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; del t
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; del line
... del rows
... 
&amp;gt;&amp;gt;&amp;gt; &lt;/T&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It worked. But the dates in the column "Some Date" are weird - see the attached mxd file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please kindly help and advise me how I can fix it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Scott Chang&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 00:40:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/transportation-questions/arcgis10-0-pythonwindow-bring-the-text-data-into/m-p/573039#M1891</guid>
      <dc:creator>ScottChang</dc:creator>
      <dc:date>2021-12-12T00:40:04Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS10.0-PythonWindow:Bring the text data into file geodatabase-wrong date!!!</title>
      <link>https://community.esri.com/t5/transportation-questions/arcgis10-0-pythonwindow-bring-the-text-data-into/m-p/573040#M1892</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Original User: msayler-w&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I got bad output running the existing code on that text file. I'm guessing something is going wrong with the slicing as the date is off by a digit to the left:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;['36.44000', '-94.03667', ',0/69']
['36.44000', '-94.04833', ',0/69']
['33.09167', '-93.90333', ',0/90']
['33.02667', '-93.89167', ',0/70']
['34.34111', '-93.50056', ',0/50']
['34.24833', '-93.67667', ',0/10']
['34.22500', '-93.89500', ',0/70']
['33.76833', '-92.48500', ',0/70']
['33.74500', '-92.47667', ',0/70']
['33.68000', '-92.46667', ',0/70']
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'd start by splitting the line into a list, x = line.split(",") and then do the slicing on the individual pieces. Takes care of the commas and makes it a little easier to work with. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;def latLongDate(file):
&amp;nbsp;&amp;nbsp;&amp;nbsp; l = []
&amp;nbsp;&amp;nbsp;&amp;nbsp; for line in file:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = line.split(",")
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lat = x[0].strip()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; latDeg = int(lat[0:2])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; latMin = float(lat[2:4])/60
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; latSec = float(lat[4:6] + "." + lat[6:])/3600
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; latCalc = str(latDeg + latMin + latSec)
&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; lon = x[1].strip()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lonDeg = int(lon[0:3])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lonMin = float(lon[3:5])/60
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lonSec = float(lon[5:7] + "." + lon[7:])/3600
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lonCalc = '-' + str(lonDeg + lonMin + lonSec)
&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; date = x[2].strip()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dateCalc = date[0:2] + "/" + date[2: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; # add our line to list l
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # do string formatting to lat/lon to display only 5 decimal points
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l.extend([[('%.5f' % float(latCalc)), ('%.5f' % float(lonCalc)), dateCalc]])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # print out each line to stdout
&amp;nbsp;&amp;nbsp;&amp;nbsp; return l&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Should also work if the decimal part of Seconds isn't given as a fixed number of digits (just in case).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 00:40:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/transportation-questions/arcgis10-0-pythonwindow-bring-the-text-data-into/m-p/573040#M1892</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-12T00:40:07Z</dc:date>
    </item>
  </channel>
</rss>

