如何在php中解析文件并为mysql生成插入语句?

时间:2009-12-18 15:57:16

标签: php mysql csv

在csv文件的情况下,我们在php中有fgetcsv来解析并获取输出但在我的情况下文件是.dat我需要解析它并将其存储到MySQL数据库中我们也是如此有像fgetcsv这样的内置函数可以在.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

3 个答案:

答案 0 :(得分:1)

IMHO .dat文件可以是不同的格式。盲目跟随扩展可能容易出错。但是,如果你有某个特定应用程序的文件,也许告诉我们这个应用程序是什么。有可能有一些解析库或例程。

答案 1 :(得分: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 :(得分:0)

我认为使用fopenfreadfclose编写一个简短的函数会更容易解析它。读取每一行,爆炸到一个数组,并按照您的意愿存储它们。