繁体   English   中英

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

[英]Convert .csv file into .dbf using Python?

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

使用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())

这里提供相当基础的文档。

披露:我是这个包的作者。

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

一些问题:

什么软件会消耗输出DBF文件?

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

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

哪个版本的Python?

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

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

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

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

https://github.com/mikebrennan/csv2dbf_python

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM