【问题标题】:How to convert dbase III files to mysql?如何将 dbase III 文件转换为 mysql?
【发布时间】:2020-11-05 21:32:57
【问题描述】:

是否可以将 .DBF 文件转换为任何其他格式? 有谁知道一个脚本,可以用来将 .DBF 文件转换为 mysql 查询。

也可以将 DBF 文件转换为 CSV 文件。 DBF 文件的编解码器总是有问题。

康斯坦丁

【问题讨论】:

    标签: mysql csv parsing converters dbf


    【解决方案1】:

    https://www.dbase.com/Knowledgebase/faq/import_export_data.asp

    问:如何将数据从 dBASE 表导出到文本文件?

    A:将数据从 dBASE 导出到文本文件是通过 COPY TO 命令处理的。

    与 APPEND FROM 命令一样,有多种方法可以使用此命令。这里我们只对它最基本的用途感兴趣。了解如何使用此命令后,您可以访问在线帮助以获取有关使用 COPY TO 命令可以完成的操作的更多详细信息。

    要导出数据,您必须首先使用要从中导出数据的表。和以前一样,您将在命令窗口中使用 USE 命令。

    USE <tablename>
    

    例如:

    USE Mytest.dbf
    

    使用表后,您只需在命令窗口中输入以下命令:

    COPY TO <filename> TYPE DELIMITED
    

    例如:

    COPY TO Myexport.txt TYPE DELIMITED
    

    这将导致在当前目录中创建一个名为 Myexport.txt 的文件,该文件将采用 DELIMITED 或 *.CSV 格式。

    如果我们想以 *.SDF 格式导出数据,我们会输入:

    COPY TO Myexport.txt TYPE SDF
    

    这将导致在当前目录中创建一个名为 Myexport.txt 的文件,该文件将采用 System Delimted 或 *.SDF 格式。

    这些是关于如何将文本数据导入和导出到 dBASE 表的基础知识。有关详细信息,请参阅 APPEND FROM 和 COPY TO 命令的在线帮助。

    【讨论】:

      【解决方案2】:

      我使用 Python 和 dbfread 模块将旧的(大约 1997 年)DBF 文件转换为 CSV。

      安装 Python 后,从 Python 解释器 (&lt;WIN&gt; + 'Python') 安装 dbfread 模块:

      >>> pip install dbfread
      

      该模块有多种读取DBF文件的方法和优秀的文档。

      然后一个 Python 脚本完成这项工作,或者直接在解释器中输入:

      # Read the DBF file
      table = DBF('C:/my_dbf_file.dbf', encoding='1252')
      outFileName = 'C:/my_export.csv'
          with open(outFileName, 'w', newline='', encoding='1252' ) as file:
              writer = csv.writer(file)
              writer.writerow(table.field_names)
          
              for record in table:
                  writer.writerow(list(record.values()))
      

      请注意,每次读取和保存数据库中的每条记录,并且 CSV 文件的第一行是列的名称。

      编码可能有问题,要尝试的编码列表是heredbread.DBF() 方法尝试猜测编码,但并不完美。这就是为什么在代码中我在DBF()csv.open() 中都指定了参数编码。

      【讨论】:

        猜你喜欢
        • 2010-09-09
        • 1970-01-01
        • 2014-08-15
        • 2011-04-20
        • 2017-10-08
        • 1970-01-01
        • 2018-01-29
        • 2012-03-16
        • 2016-08-12
        相关资源
        最近更新 更多