如何使用PHP拆分具有相同标头的大型csv文件?

时间:2017-01-18 15:51:41

标签: php mysql csv import split

我有大约5gb的大csv文件。我想把它分成带有标题的小文件。我试过在stackoverflow上给出的例子,但由于php内存限制它不能完全工作,它也没有为每个文件添加标题以及如何只获取csv的标题?

1 个答案:

答案 0 :(得分:0)

您可以按照以下步骤操作:

1) 首先,如果文件包含标题,则可以使用以下命令将较少的行复制到下一个csv文件: Get-Content" C:\ start.csv" |选择 - 第一次10 | Out-File" C:\ stop.csv"

参考链接:toSelectFirstFewLinesOfCSVFile

2)之后相应地创建表。

3)使用query将csv数据加载到该表(对于批量加载使用LOAD DATA INFILE命令)

4)为此准备shell脚本并运行命令,该命令可以运行更长时间。

(注意:您可以设置SET net_read_timeout = 99999; SET net_write_timeout = 99999;这些连接用于更长的MySql连接。)

5)调用shell脚本。

这应该有用。