Ответ 1
Вы можете попробовать этот рецепт в активном состоянии.
Существует также модуль DBFReader, который вы можете попробовать.
Для поддержки памятных полей.
У меня есть куча файлов DBF FoxPro (VFP9) в моей системе Ubuntu, есть ли библиотека, чтобы открыть их в Python? Мне нужно только их прочитать и желательно иметь доступ к полям memo.
Обновление. Спасибо @cnu, я использовал Yusdi Santoso dbf.py
, и он работает хорошо. Один из них: расширение имени файла напоминания должно быть в нижнем регистре, т.е. .fpt
, а не .fpt
, каким было имя файла из Windows.
Вы можете попробовать этот рецепт в активном состоянии.
Существует также модуль DBFReader, который вы можете попробовать.
Для поддержки памятных полей.
Я предпочитаю dbfpy. Он поддерживает чтение и запись файлов .DBF
и может справиться с большинством вариантов формата. Это единственная реализация, которую я нашел, которая могла бы читать и записывать старые DBF файлы некоторых старых систем, с которыми я работал.
Если вы все еще проверяете это, у меня есть конвертер GPL FoxPro-to-PostgreSQL на https://github.com/kstrauser/pgdbf. Мы используем его для регулярного копирования наших таблиц в PostgreSQL для быстрого создания отчетов.
Мне удалось прочитать 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, а затем он сработал.
Отъезд http://groups.google.com/group/python-dbase
В настоящее время он поддерживает файлы dBase III и Visual Foxpro 6.0 db... не уверен, что изменение макета файла в VFP 9 или нет...
Сейчас 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)