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