Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将DBF文件批处理为CSV文件_Python_Dbf - Fatal编程技术网

在Python中将DBF文件批处理为CSV文件

在Python中将DBF文件批处理为CSV文件,python,dbf,Python,Dbf,以前有关于这方面的主题,但是,给出的代码不正确 有人能发布一个可靠的代码来将dbf批处理成csv吗?我有一堆(非GIS)dbf文件,需要转换成不同的格式(csv、数据帧、HDF、SQL等),所以我编写了一个最小转换模块,名为。它不做任何花哨的事情,但它将使用Python>=2.7和>=3.4转换为CSV,而不需要任何附加依赖项 例如,您可以这样做(未经测试): 希望有帮助。 导入操作系统 导入arcpy 导入csv def dbf2csv(dbfpath,csvpath): ''将.dbf文件或

以前有关于这方面的主题,但是,给出的代码不正确

有人能发布一个可靠的代码来将dbf批处理成csv吗?

我有一堆(非GIS)dbf文件,需要转换成不同的格式(csv、数据帧、HDF、SQL等),所以我编写了一个最小转换模块,名为。它不做任何花哨的事情,但它将使用Python>=2.7和>=3.4转换为CSV,而不需要任何附加依赖项

例如,您可以这样做(未经测试):

希望有帮助。

导入操作系统 导入arcpy 导入csv

def dbf2csv(dbfpath,csvpath): ''将.dbf文件或任何shapefile/featureclass转换为csv文件 投入: dbfpath:.dbf文件[input]或featureclass的完整路径 csvpath:csv文件[输出]的完整路径

'''
#import csv
rows = arcpy.SearchCursor(dbfpath)
csvFile = csv.writer(open(csvpath, 'wb')) #output csv
fieldnames = [f.name for f in arcpy.ListFields(dbfpath)]

allRows = []
for row in rows:
    rowlist = []
    for field in fieldnames:
        rowlist.append(row.getValue(field))
    allRows.append(rowlist)

csvFile.writerow(fieldnames)
for row in allRows:
    csvFile.writerow(row)
row = None
rows = None

欢迎来到stackoverflow。除非你在你的问题中表现出来,否则它很可能被关闭为“太宽”。你尝试过什么,遇到了什么样的问题?
'''
#import csv
rows = arcpy.SearchCursor(dbfpath)
csvFile = csv.writer(open(csvpath, 'wb')) #output csv
fieldnames = [f.name for f in arcpy.ListFields(dbfpath)]

allRows = []
for row in rows:
    rowlist = []
    for field in fieldnames:
        rowlist.append(row.getValue(field))
    allRows.append(rowlist)

csvFile.writerow(fieldnames)
for row in allRows:
    csvFile.writerow(row)
row = None
rows = None