【问题标题】:How to parse file in php and generate insert statements for mysql?如何在 php 中解析文件并为 mysql 生成插入语句?
【发布时间】:2009-12-18 15:57:15
【问题描述】:

在 csv 文件的情况下,我们在 php 中有 fgetcsv 来解析并获取输出,但在我的情况下,文件是 .dat,我需要解析它并将其存储到 MySQL 数据库中,所以我们有任何内置的像fgetcsv这样的php函数可以在.dat文件上以类似的方式工作?

这是示例值,它包含标题 DF_PARTY_ID;DF_PARTY_CODE;DF_CONNECTION_ID 及其值,如下所述。

样本数据:

DF_PARTY_ID;DF_PARTY_CODE;DF_CONNECTION_ID

87961526;4002524;13575326
87966204;4007202;13564782

【问题讨论】:

  • .dat 文件中有什么内容? .dat 不是标准格式,也没有给我们任何关于数据结构的提示。
  • 已更新问题,其中包含一些示例数据。

标签: php mysql csv


【解决方案1】:

fgetcsv() 有什么问题?只要所有文件的数据格式一致,文件的扩展名就无关紧要。

示例

$fh = fopen('example.dat', 'r');
while (!feof($fh)) {
        var_dump(fgetcsv($fh, 0, ';'));
}

或者,您也可以使用 PHP5.3:

$lines = file('example.dat');
foreach($lines as $line) {
        var_dump(str_getcsv(trim($line), 0, ';'));
}

【讨论】:

    【解决方案2】:

    恕我直言.dat 文件可以是不同的格式。盲目地遵循扩展名可能容易出错。但是,如果您有某个特定应用程序的文件,请告诉我们这个应用程序是什么。可能有一些解析库或例程。

    【讨论】:

      【解决方案3】:

      我想用fopenfreadfclose 编写一个简短的函数来自己解析它会更容易。读取每一行,分解成一个数组,然后按照你的意愿存储它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-04
        • 1970-01-01
        • 2017-10-05
        • 1970-01-01
        • 2016-10-09
        • 1970-01-01
        • 2018-12-31
        • 2012-09-12
        相关资源
        最近更新 更多