<?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 Re: Python Script for batch coversion: from DBF to CSV files in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/python-script-for-batch-coversion-from-dbf-to-csv/m-p/355573#M27945</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Check out this post - it has an example of os.walk() used in an arcpy script...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://forums.arcgis.com/threads/37795-Read-a-MXD-file-and-change-all-comma-and-blank-spaces-to-nothing-with-Python-how-to"&gt;http://forums.arcgis.com/threads/37795-Read-a-MXD-file-and-change-all-comma-and-blank-spaces-to-nothing-with-Python-how-to&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 23 Aug 2011 08:17:28 GMT</pubDate>
    <dc:creator>StacyRendall1</dc:creator>
    <dc:date>2011-08-23T08:17:28Z</dc:date>
    <item>
      <title>Python Script for batch coversion: from DBF to CSV files</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-batch-coversion-from-dbf-to-csv/m-p/355571#M27943</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Following python script (&lt;/SPAN&gt;&lt;A href="http://forums.esri.com/Thread.asp?c=93&amp;amp;f=1729&amp;amp;t=279777"&gt;http://forums.esri.com/Thread.asp?c=93&amp;amp;f=1729&amp;amp;t=279777&lt;/A&gt;&lt;SPAN&gt;) works well for converstion of a DBF file to a CSV file. But I want to convert 100s of dbf files to cvs files. I need&amp;nbsp;&amp;nbsp; help&amp;nbsp; to add a loop in this script to create a list of dbf file in an input&amp;nbsp; directory("K:\\SSURGO_TABLE\\DATA\\DBF") and save as csv file in a output directory("K:\\SSURGO_TABLE\\DATA\\CSV"). &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Zia&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#-------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import sys, traceback, os&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcgisscripting&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp = arcgisscripting.create()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;path = r'K:\\SSURGO_TABLE\\DATA\\DBF'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#outWorkspace= r'K:\\SSURGO_TABLE\\DATA\\CSV'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.workspace = path&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#table = gp.ListTables()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;table = 'co_cornmukey.dbf'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;csvseparator = ','&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;outputpath = os.path.join(path,'co_cornmukey.csv')&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def print_exception():&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tb = sys.exc_info()[2]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; l = traceback.format_tb(tb)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; l.reverse()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbinfo = "".join(l)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pymsg = "ERROR:\nTraceback Info:\n" + tbinfo + "Error Info:\n&amp;nbsp;&amp;nbsp;&amp;nbsp; " +&amp;nbsp; str(sys.exc_type)+ ": " + str(sys.exc_value) + ""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print pymsg&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def get_fieldnames(fields, ignorefields=[]):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fields_output = []&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for field in iter(fields.next, None):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not field.name in ignorefields:&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; fields_output.append(field.name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return fields_output&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; info = gp.describe(table)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ignore_fields = []&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldnames = get_fieldnames(info.fields, ignore_fields)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print fieldnames&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows = gp.searchcursor(table)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output = []&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output.append(csvseparator.join(fieldnames))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in iter(rows.next, None):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outputrow = []&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for fieldname in fieldnames:&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; outputrow.append(str(row.getvalue(fieldname)))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outputrow = csvseparator.join(outputrow)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output.append(outputrow)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'found', str(len(output)), 'rows'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f = open(outputpath, 'w')&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f.write('\n'.join(output))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f.close()&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_exception()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.getmessages(2)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Aug 2011 01:14:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-batch-coversion-from-dbf-to-csv/m-p/355571#M27943</guid>
      <dc:creator>ZiaAhmed</dc:creator>
      <dc:date>2011-08-23T01:14:25Z</dc:date>
    </item>
    <item>
      <title>Re: Python Script for batch coversion: from DBF to CSV files</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-batch-coversion-from-dbf-to-csv/m-p/355572#M27944</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Try something like os.walk("K:\\SSURGO_TABLE\\DATA\\DBF")... Read around for more info on how to use it (can't find an example on my computer right now.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Aug 2011 04:48:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-batch-coversion-from-dbf-to-csv/m-p/355572#M27944</guid>
      <dc:creator>StacyRendall1</dc:creator>
      <dc:date>2011-08-23T04:48:10Z</dc:date>
    </item>
    <item>
      <title>Re: Python Script for batch coversion: from DBF to CSV files</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-batch-coversion-from-dbf-to-csv/m-p/355573#M27945</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Check out this post - it has an example of os.walk() used in an arcpy script...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://forums.arcgis.com/threads/37795-Read-a-MXD-file-and-change-all-comma-and-blank-spaces-to-nothing-with-Python-how-to"&gt;http://forums.arcgis.com/threads/37795-Read-a-MXD-file-and-change-all-comma-and-blank-spaces-to-nothing-with-Python-how-to&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Aug 2011 08:17:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-batch-coversion-from-dbf-to-csv/m-p/355573#M27945</guid>
      <dc:creator>StacyRendall1</dc:creator>
      <dc:date>2011-08-23T08:17:28Z</dc:date>
    </item>
    <item>
      <title>Re: Python Script for batch coversion: from DBF to CSV files</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-batch-coversion-from-dbf-to-csv/m-p/355574#M27946</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The glob module should work for this as well.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; # Import modules
&amp;nbsp;&amp;nbsp;&amp;nbsp; import glob,os
&amp;nbsp;&amp;nbsp;&amp;nbsp; import arcpy


&amp;nbsp;&amp;nbsp; # Set geoprocessing workspace and working directory
&amp;nbsp;&amp;nbsp; path = r'C:\example'
&amp;nbsp;&amp;nbsp; print "Setting workspace to: " + path
&amp;nbsp;&amp;nbsp; arcpy.env.workspace = path 
&amp;nbsp;&amp;nbsp; os.chdir(path)

&amp;nbsp;&amp;nbsp; listFiles = glob.glob('*.dbf')
&amp;nbsp;&amp;nbsp; print listFiles

&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; # Loop through the list of text files
&amp;nbsp;&amp;nbsp; for currentFile in listFiles:


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Find the current file name and path
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; filename = currentFile[:-4]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FilePath = path + '/' + currentFile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # then run your conversion stuff on the current filename
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 16:39:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-batch-coversion-from-dbf-to-csv/m-p/355574#M27946</guid>
      <dc:creator>RaphaelR</dc:creator>
      <dc:date>2021-12-11T16:39:22Z</dc:date>
    </item>
  </channel>
</rss>

