【问题标题】:convert dbf to csv without MS excel在没有 MS excel 的情况下将 dbf 转换为 csv
【发布时间】:2012-11-21 13:42:33
【问题描述】:

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

【问题讨论】:

    标签: python csv io python-2.6 dbf


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      最近,我一直在使用以下代码进行快速而肮脏的 csv 到 dbf 转换,主要用于准备 csv 文件以导入 ArcGIS 文件地理数据库。代码使用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>)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-07
        • 2011-11-20
        • 2016-06-26
        • 2017-05-20
        • 1970-01-01
        • 2015-05-25
        • 2013-11-07
        • 2010-10-30
        相关资源
        最近更新 更多