[英]Python - Convert CSV to DBF
我想使用python将csv文件转换为dbf(用于地理编码,这就是为什么我需要dbf文件的原因)-我可以轻松地在stat / transfer或其他类似程序中执行此操作,但我想将其作为我的一部分脚本,而不必去外部程序。 似乎有很多关于将DBF转换为CSV的帮助问题/答案,但是反过来我没有任何运气。
使用dbfpy的答案很好,我只是没有运气确切地知道如何去做。
作为我要寻找的示例,下面是一些我在网上找到的将dbf转换为csv的代码:
import csv,arcgisscripting
from dbfpy import dbf
gp = arcgisscripting.create()
try:
inFile = gp.GetParameterAsText(0) #Input
outFile = gp.GetParameterAsText(1)#Output
dbfFile = dbf.Dbf(open(inFile,'r'))
csvFile = csv.writer(open(outFile, 'wb'))
headers = range(len(dbfFile.fieldNames))
allRows = []
for row in dbfFile:
rows = []
for num in headers:
rows.append(row[num])
allRows.append(rows)
csvFile.writerow(dbfFile.fieldNames)
for row in allRows:
print row
csvFile.writerow(row)
except:
print gp.getmessage()
反过来得到类似的东西会很棒。
谢谢!
在重复的问题: 使用Python将.csv文件转换为.dbf?
例如,您可以尝试:
您也可以在OpenOffice或Excel中打开CSV文件,然后将其保存为dBase格式。
我假设您要为Esri Shapefile格式或类似格式创建属性文件。 请记住,DBF文件通常使用古老的字符编码,例如CP850。如果您的地理数据包含外文名称,则可能会出现问题。 但是,Esri可能指定了不同的编码。
编辑:刚刚指出,您不想使用外部工具。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.