Python - конвертировать CSV в DBF - PullRequest
       8

Python - конвертировать CSV в DBF

2 голосов
/ 10 октября 2010

Я хотел бы преобразовать CSV-файл в DBF с помощью Python (для использования в геокодировании, поэтому мне нужен файл 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()

Было бы замечательно получить что-то похожее, если бы все было наоборот.

Спасибо!

Ответы [ 2 ]

1 голос
/ 22 марта 2011

Повторяющийся вопрос по адресу: Преобразовать файл .csv в .dbf с помощью Python?

Многообещающий ответ там (среди прочего): Использовать библиотеку csv , чтобы прочитать вашданные из файла CSV.Сторонняя библиотека dbf может написать для вас файл dbf.

0 голосов
/ 10 октября 2010

Например, вы можете попробовать:

Вы также можете просто открыть CSVфайл в OpenOffice или Excel и сохраните его в формате dBase.

Я предполагаю, что вы хотите создать файлы атрибутов для формата Esri Shapefile или чего-то подобного.Помните, что файлы DBF обычно используют древние кодировки, такие как CP 850. Это может быть проблемой, если ваши геоданные содержат имена на иностранных языках.Однако Esri, возможно, указал другую кодировку.

РЕДАКТИРОВАТЬ: только что отметил, что вы не хотите использовать внешние инструменты.

...