1

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

4

2 回答 2

1

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

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

于 2012-12-04T02:52:27.743 回答
1

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

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>)
于 2013-01-28T03:03:13.883 回答