POST
|
To be honest, I am not sure. I am going to speak with the contact next week, but all I know now is the agency that collects this data uses a really old database software, don't know the specifics however. Can ArcGIS open a subset? And if not, am i limited to non-ARCGIS methods?
... View more
07-27-2016
02:00 PM
|
0
|
1
|
356
|
POST
|
Oh okay. The only software I have been able to open it in is OpenOffice. The problem is that OpenOffice cuts off extra rows as these files exceed its max capacity. This isn't a deal breaker but would like to have the full data. Using OpenOffice, I could convert them into csv manually
... View more
07-27-2016
01:42 PM
|
0
|
3
|
1016
|
POST
|
I actually confirmed with my supervisor. I was wrong, the data is publicly available. could you friend/whatever needs to be done so I can send you a private message.
... View more
07-27-2016
11:44 AM
|
0
|
5
|
1016
|
POST
|
Thanks Xander. When I do that it just prints an empty list. Nothing never gets added to it. Something must be going wrong with ListFields
... View more
07-27-2016
11:16 AM
|
0
|
9
|
1016
|
POST
|
I think it's coming from the cursor but could be wrong.
... View more
07-27-2016
11:14 AM
|
0
|
0
|
356
|
POST
|
Yup. I also just recieved permission from my supervisor to share the directory. Here is the code import arcpy
import os
import csv
def DBFtoCSV(path):
'''Convert every DBF table into CSV table.
'''
arcpy.env.workspace = path
#tablelist=arcpy.ListTables('*', 'dBASE')
tables = arcpy.ListFeatureClasses('*.shp')
print tables
tables.extend(arcpy.ListTables('*', 'dBASE'))
print tables
for table in tables:
print table
outputFile = '{}.csv'.format(table.split('.dbf')[0])
# Get the fields in the dbf to use for the cursor and csv header row.
fields = []
for field in arcpy.ListFields(table):
fields.append(field.name)
# Make the csv.
with open((os.path.join(path,outputFile)),'wb') as output:
dataWriter = csv.writer(output, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
# Write header row.
dataWriter.writerow(fields)
# Write each row of data to the csv.
with arcpy.da.SearchCursor(table, fields) as cursor:
for row in cursor:
dataWriter.writerow(row)
print('Finished creating {}'.format(outputFile))
if __name__ == '__main__':
path='F:/FERC/raw_data/eqr_transaction_2009/EQRDATA'
DBFtoCSV(path) Here is the error: C:\>python dbf_convert_stack2.py First print: [] Second print: [u'EQR_TRANSACTION_200903_AL.dbf', u'._EQR_TRANSACTION_200903_AL.dbf', u'EQR_TRA NSACTION_200903_MZ.dbf', u'._EQR_TRANSACTION_200903_MZ.dbf', u'eqr_transaction_2 00903.dbf', u'._eqr_transaction_200903.dbf', u'EQR_TRANSACTION_200906_AL.dbf', u '._EQR_TRANSACTION_200906_AL.dbf', u'EQR_TRANSACTION_200906_MZ.dbf', u'._EQR_TRA NSACTION_200906_MZ.dbf', u'eqr_transaction_200906.dbf', u'._eqr_transaction_2009 06.dbf', u'eqr_transaction_200909_388.dbf', u'._eqr_transaction_200909_388.dbf', u'EQR_TRANSACTION_200909_AL.dbf', u'._EQR_TRANSACTION_200909_AL.dbf', u'EQR_TRA NSACTION_200909_MZ.dbf', u'._EQR_TRANSACTION_200909_MZ.dbf', u'eqr_transaction_2 00909.dbf', u'._eqr_transaction_200909.dbf', u'eqr_transaction_200912_388.dbf', u'._eqr_transaction_200912_388.dbf', u'EQR_TRANSACTION_200912_AL.dbf', u'._EQR_T RANSACTION_200912_AL.dbf', u'EQR_TRANSACTION_200912_MZ.dbf', u'._EQR_TRANSACTION _200912_MZ.dbf', u'eqr_transaction_200912.dbf', u'._eqr_transaction_200912.dbf'] Third Print: EQR_TRANSACTION_200903_AL.dbf Traceback (most recent call last): File "dbf_convert_stack2.py", line 39, in <module> DBFtoCSV(path) File "dbf_convert_stack2.py", line 30, in DBFtoCSV with arcpy.da.SearchCursor(table, fields) as cursor: TypeError: 'field_names' must be string or non empty sequence of strings My end goal is to import these into STATA, so CSV or Excel doesn't really matter. Just trying anything that may work. It's weird that I get a cannon open error with the Tableto Excel but not here.
... View more
07-27-2016
08:38 AM
|
0
|
15
|
798
|
POST
|
Not sure if this sheds any light on the issue but when I try to use def DBFtoCSV(path):
'''Convert every DBF table into CSV table.
'''
arcpy.env.workspace = path
#tablelist=arcpy.ListTables('*', 'dBASE')
tables = arcpy.ListFeatureClasses('*.shp')
print tables
tables.extend(arcpy.ListTables('*', 'dBASE'))
print tables
for table in tables:
print table
outputFile = '{}.xls'.format(table.split('.dbf')[0])
arcpy.TableToExcel_conversion(table, outputFile)
if __name__ == '__main__':
path='F:/DataLocation'
DBFtoCSV(path) I get an error that says that the dbf file cannot be opened. When I did not get that before. Just trying different approaches in the hopes that I can find one that works haha
... View more
07-27-2016
06:58 AM
|
0
|
17
|
798
|
POST
|
import dbf
import arcpy
import os
import csv
def DBFtoCSV(path):
'''Convert every DBF table into CSV table.
'''
print path
arcpy.env.workspace = path
#tablelist=arcpy.ListTables('*', 'dBASE')
tables = arcpy.ListFeatureClasses('*.shp')
tables.extend(arcpy.ListTables('*', 'dBASE'))
print tables
for table in tables:
print table
outputFile = '{}.csv'.format(table.split('.dbf')[0])
# Get the fields in the dbf to use for the cursor and csv header row.
fields = []
for field in arcpy.ListFields(os.path.join(path,table)):
fields.append(field.name)
print fields
# Make the csv.
with open((os.path.join(path,outputFile)),'wb') as output:
dataWriter = csv.writer(output, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
# Write header row.
dataWriter.writerow(fields)
# Write each row of data to the csv.
with arcpy.da.SearchCursor(table, fields) as cursor:
for row in cursor:
dataWriter.writerow(row)
print('Finished creating {}'.format(outputFile))
if __name__ == '__main__':
path='F:/Datalocation'
DBFtoCSV(path) I added the list feature classes using code I found but am getting the same problem.
... View more
07-27-2016
06:02 AM
|
0
|
0
|
798
|
POST
|
Thanks Xander, I am not sure how to check if they are part of shape files to be honest. Is there a way to check that?
... View more
07-27-2016
05:58 AM
|
0
|
1
|
798
|
POST
|
Hey Dan, Just I just loaded the file into ArcMap. Was able to view it alright, but two fields with dates got wiped and every obs was <NULL> instead of the date.
... View more
07-27-2016
05:57 AM
|
0
|
0
|
798
|
POST
|
Okay Thanks. Right now I can only open them in OpenOffice. once I figure out how to access ArcMap at my institution(new job) I will get back to you, but that is very helpful.
... View more
07-27-2016
05:01 AM
|
0
|
0
|
798
|
POST
|
Thanks Dan. Unfortunately, this is confidential data for a research project. I will look more into it but I can't share it. Is there a way to check if the file is corrupted which could be explaining the error?
... View more
07-27-2016
04:35 AM
|
0
|
3
|
763
|
POST
|
Thanks Dan. Just Fixed that but still having same problem. import arcpy
import os
import csv
path='F:/Datalocation/'
arcpy.env.workspace = path
fields=arcpy.ListFields('F:/datalocation/dataname.dbf')
for field in fields:
print("{0} is a type of {1} with a length of {2}" .format(field.name, field.type, field.length))
#This doesn't print. Fields is empty
fieldlist1=[]
tablelist = arcpy.ListTables() # list tables in file
for table in tablelist:
fieldlist1.append(arcpy.ListFields(table))
print fieldlist1
#This part gives me an "ERROR 999999: ERROR EXECUTING FUNCTION"
... View more
07-27-2016
04:26 AM
|
0
|
5
|
763
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:25 AM
|