簡體   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