Подтвердить что ты не робот

Какой самый простой способ прочитать файл DBF FoxPro от Python?

У меня есть куча файлов DBF FoxPro (VFP9) в моей системе Ubuntu, есть ли библиотека, чтобы открыть их в Python? Мне нужно только их прочитать и желательно иметь доступ к полям memo.

Обновление. Спасибо @cnu, я использовал Yusdi Santoso dbf.py, и он работает хорошо. Один из них: расширение имени файла напоминания должно быть в нижнем регистре, т.е. .fpt, а не .fpt, каким было имя файла из Windows.

4b9b3361

Ответ 2

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

Ответ 3

Если вы все еще проверяете это, у меня есть конвертер GPL FoxPro-to-PostgreSQL на https://github.com/kstrauser/pgdbf. Мы используем его для регулярного копирования наших таблиц в PostgreSQL для быстрого создания отчетов.

Ответ 4

Мне удалось прочитать DBF файл (с соответствующими BAK, CDX, FBT, TBK файлами **), используя пакет dbf из PyPI http://pypi.python.org/pypi/dbf. Я новичок в python и ничего не знаю о файлах DBF, но он легко работал, чтобы читать DBF файл из моего бизнеса с подругой (созданный с помощью приложения POS для музыкального магазина под названием AIMsi).

После установки пакета dbf (я использовал aptitude и установленную версию dbf 0.88, я думаю), следующий код python работал:

from dbf import *
test = Table("testfile.dbf")
for record in test:
    print record
    x = raw_input("")  # to pause between showing records

Это все, что я знаю сейчас, но, надеюсь, это полезное начало для кого-то другого, кто находит этот вопрос!

21 апреля 2012 г. SJK Edit: Per Ethan Furman comment, я должен указать, что я действительно не знаю, какие файлы данных были необходимы, помимо файла DBF. В первый раз, когда я запускал script, только с доступным DBF, он жаловался на отсутствующий файл поддержки. Итак, я только что скопировал BAK, CDX, FPT (а не FBT, как я уже говорил до редактирования), файлы TBK, а затем он сработал.

Ответ 5

Отъезд http://groups.google.com/group/python-dbase

В настоящее время он поддерживает файлы dBase III и Visual Foxpro 6.0 db... не уверен, что изменение макета файла в VFP 9 или нет...

Ответ 6

Сейчас 2016, и мне пришлось возиться с пакетом dbf, чтобы заставить его работать. Вот версия python3, чтобы просто экспортировать dbf файл в csv

import dbf

d=dbf.Table('mydbf.dbf')
d.open()
dbf.export(d, filename='mydf_exported.csv', format='csv', header=True)

Сначала у меня была некоторая ошибка в Юникоде, но обошла это, отключив записки.

import dbf

d=dbf.Table('mydbf.dbf', ignore_memos=True)
d.open()
dbf.export(d, filename='mydf_exported.csv', format='csv', header=True)