在没有MS excel的情况下将dbf转换为csv

时间:2012-12-04 00:38:33

标签: python csv io python-2.6 dbf

在不使用win32com.client或其他依赖于Microsoft软件的软件包的情况下,将.dbf文件转换为.csv文件的最佳方法(最低计算成本)是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用dbf package读取dBase文件。该软件包包括支持直接将表写入CSV,或者如果您需要更多控制,您可以使用csv标准库模块中的Writer class编写自己的文件。

作为纯Python,它可能不是最快的解决方案,但它应该是可移植的。

答案 1 :(得分:1)

最近我一直在使用以下代码快速和脏csv到dbf转换,在准备导入ArcGIS文件地理数据库的csv文件的上下文中是主要的。该代码使用dbf package

import dbf, os
def csv_to_dbf(inCSV,outDBF):
    outFile = open(<temporary CSV>),'w')
    with open(inCSV,'r') as f:
        count = 0
        for line in f:
            if count == 0: header = line.rstrip("\n").split(",")
            else: outFile.write(line)
            count +=1    
    dbf.from_csv(csvfile=<temporary CSV>, field_names=header, filename= outDBF ,to_disk=True)
    os.remove(<temporary CSV>)