使用Python将.csv文件转换为.dbf?

时间:2010-12-14 15:31:39

标签: python csv python-3.x dbf

如何使用python脚本将.csv文件转换为.dbf文件?我在网上发现了这个piece代码,但我不确定它是多么可靠。那里有没有具有此功能的模块吗?

5 个答案:

答案 0 :(得分:8)

使用dbf package,您可以获得一个基本的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())

可以使用相当基本的文档here

披露:我是此套餐的作者。

答案 1 :(得分:6)

您不会在网上找到任何读取CSV文件并写入DBF文件的内容,以便您可以调用它并提供2个文件路径。对于每个DBF字段,您需要指定类型,大小和(如果相关)小数位数。

有些问题:

什么软件会使用输出DBF文件?

没有“(”唯一的)DBF文件格式。你需要dBase III吗? dBase 4? 7? Visual FoxPro?等等?

您需要编写的文本字段的最大长度是多少?你有非ASCII文本吗?

哪个版本的Python?

如果您的要求很少(dBase III格式,没有非ASCII文本,文本< = 254字节长,Python 2.X),那么您引用的食谱配方应该可以胜任。

答案 2 :(得分:5)

使用csv library从csv文件中读取数据。第三方dbf库可以为您编写dbf文件。

编辑:最初,我列出了dbfpy,但上面的图书馆似乎更积极地更新。

答案 3 :(得分:2)

根据我的知识,没有一个是精心打磨的。多年来,我不得不多次使用xBase文件,并且在必须这样做的时候,我一直在发现自己编写代码。我在我的一个备份中的某个地方有一个非常实用的纯Python库,但我不确切地知道它在哪里。

幸运的是,xBase文件格式并不复杂。当然,您可以找到规范on the Internet。一目了然,您链接的模块看起来很好,但当然会在使用之前复制您正在使用的任何数据。

一个坚固的,读/写,功能齐全的xBase库,包含所有的铃声和​​口哨声,这已经在我的TODO列表上已经有一段时间......我甚至可能会在今年剩下的内容中找到它,如果我幸运的是......(可能不是,但遗憾的是)。

答案 4 :(得分:2)

我在这里创建了一个python脚本。它应该可以自定义任何csv布局。在此之前,您需要知道您的DBF数据结构。此脚本需要两个csv文件,一个用于DBF标头设置,另一个用于正文数据。祝你好运。

https://github.com/mikebrennan/csv2dbf_python