将 .dbf 文件转换为 .csv 文件而不使用win32com.client
或其他依赖于微软软件的软件包的最佳方法是什么(最低计算成本)?
问问题
2132 次
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 回答