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

Преобразовать CSV файл в .dbf с помощью Python?

Как преобразовать CSV файл в файл .dbf с помощью python script? Я нашел эту часть кода онлайн, но я не уверен, насколько она надежна. Существуют ли какие-либо модули, которые имеют эту функциональность?

4b9b3361

Ответ 1

Вы не найдете ничего в сети, которое читает CSV файл и записывает DBF файл, так что вы можете просто вызвать его и предоставить 2 пути к файлу. Для каждого поля DBF необходимо указать тип, размер и (если необходимо) число десятичных знаков.

Некоторые вопросы:

Какое программное обеспечение собирается использовать выходной DBF файл?

Нет такой вещи, как формат файла "DBF" (один и только). Вам нужна dBase III? dBase 4? 7? Visual FoxPro? и т.д?

Какова максимальная длина текстового поля, которое нужно написать? У вас есть текст без ASCII?

Какая версия Python?

Если ваши требования минимальны (формат dBase III, текст без ASCII, текст <= 254 байта в длину, Python 2.X), то рецепт поваренной книги, который вы указали, должен выполнять задание.

Ответ 2

Используя пакет dbf, вы можете получить базовый файл csv с кодом, подобным этому:

import dbf
some_table = dbf.from_csv(csvfile='/path/to/file.csv', to_disk=True)

Это создаст таблицу с тем же именем и полями символов или заметок и именами полей f0, f1, f2 и т.д.

Для другого имени файла используйте параметр filename, и если вы знаете имена полей, вы также можете использовать параметр field_names.

some_table = dbf.from_csv(csvfile='data.csv', filename='mytable',
        field_names='name age birth'.split())

Скорее базовая документация доступна здесь.

Раскрытие информации: Я являюсь автором этого пакета.

Ответ 3

Используйте csv library для чтения ваших данных из файла csv. Сторонняя библиотека dbf может написать вам файл dbf.

Изменить: Первоначально я перечислил dbfpy, но библиотека, по-видимому, более активно обновляется.

Ответ 4

Насколько я знаю, нет, которые хорошо отшлифованы. На протяжении многих лет мне приходилось много работать с файлами xBase, и я продолжаю искать код для этого, когда мне нужно это делать. У меня есть где-то в одной из моих резервных копий довольно функциональная библиотека pure-Python, но я точно не знаю, где это.

К счастью, формат файла xBase не так уж и сложный. Конечно, вы можете найти спецификацию в Интернете. С первого взгляда модуль, с которым вы связаны, выглядит отлично, но, конечно же, делайте копии любых данных, с которыми вы работаете, прежде чем использовать его.

Твердая, читающая/пишущая, полностью функциональная библиотека xBase со всеми колокольчиками и свистами - это то, что было в моем списке TODO некоторое время... Я бы даже добрался до того, что осталось в этом году, если я Мне повезло... (вероятно, нет, хотя, к сожалению).

Ответ 5

Я создал python script здесь. Он должен быть настроен для любой компоновки csv. Вам нужно знать структуру данных DBF, прежде чем это станет возможным. Для этого script требуется два файла csv, один для вашей настройки заголовка DBF и один для ваших данных тела. удачи.

https://github.com/mikebrennan/csv2dbf_python