解析php数据的最短,最快的方法

zac*_*yka 7 php mysql import

我有需要转换成数据库的文件.这些文件(我有超过100k)来自旧系统(从COBOL脚本生成).我现在是将数据从此系统迁移到新系统的团队的一员.

现在,因为我们有很多要解析的文件(每个文件从50mb到100mb)我想确保使用正确的方法将它们转换为sql语句.

大多数文件具有以下格式:

#id<tab>name<tab>address1<tab>address2<tab>city<tab>state<tab>zip<tab>country<tab>#\n
Run Code Online (Sandbox Code Playgroud)

address2是可选的,可以为空或

#id<tab>client<tab>taxid<tab>tagid<tab>address1<tab>address2<tab>city<tab>state<tab>zip<tab>country<tab>#\n
Run Code Online (Sandbox Code Playgroud)

这些是最常见的两条线(我会说大约50%),除了这些之外,所有线看起来都相同,但信息不同.

现在,我的问题是我应该怎么做才能打开它们尽可能高效并正确解析它们?

gho*_*oti 10

老实说,我不会使用PHP.我用awk.使用可预测格式的输入,它将运行得更快,您可以输出到SQL命令,您也可以通过命令行插入.

如果您还有其他原因需要使用PHP,则可能需要调查fgetcsv()函数.输出是一个数组,您可以将其解析为插入.用户提供的第一个示例之一采用CSV并将其插入MySQL.此功能确实允许您指定自己的分隔符,因此选项卡可以正常使用.

如果第一列中的id#在输入数据中是唯一的,那么您一定要将其插入到mysql的主键中,以避免在重新启动批处理时复制数据.