2

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()

逆に行くために似たようなものを手に入れるのは素晴らしいことです。

ありがとうございました!

4

2 に答える 2

1

重複した質問: Convert .csv file into .dbf using Python?

そこでの有望な答えは (とりわけ) csv ライブラリを使用して csv ファイルからデータを読み取ることです。サードパーティのdbf ライブラリは、dbf ファイルを作成できます。

于 2011-03-22T15:58:09.177 に答える
0

たとえば、次のことを試すことができます。

OpenOffice または Excel で CSV ファイルを開き、dBase 形式で保存することもできます。

Esri Shapefile 形式などの属性ファイルを作成するとします。DBF ファイルは通常、CP 850 などの古い文字エンコーディングを使用することに注意してください。これは、地理データに外国語の名前が含まれている場合に問題になる可能性があります。ただし、Esri が別のエンコーディングを指定している可能性があります。

編集:外部ツールを使用したくないことに注意してください。

于 2010-10-09T22:43:06.570 に答える