繁体   English   中英

Python-将CSV转换为DBF

[英]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?

有希望的答案(除其他外)是使用csv库从csv文件读取数据。 第三方dbf库可以为您编写dbf文件。

例如,您可以尝试:

您也可以在OpenOffice或Excel中打开CSV文件,然后将其保存为dBase格式。

我假设您要为Esri Shapefile格式或类似格式创建属性文件。 请记住,DBF文件通常使用古老的字符编码,例如CP850。如果您的地理数据包含外文名称,则可能会出现问题。 但是,Esri可能指定了不同的编码。

编辑:刚刚指出,您不想使用外部工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM