gpt4 book ai didi

php - 分解 CSV 中的大量行并将它们作为批处理的 php 进行处理

转载 作者:行者123 更新时间:2023-11-29 08:55:11 25 4
gpt4 key购买 nike

我可以编辑并上传包含超过 50000 条记录(购物车产品)的 CSV。并且它应该更新系统中的表数量。所以我在我的购物车中使用 zend 框架。

我计划在使用 PHP/MYSQL 批量处理它们之前在内存中分解它们(50000 条 CSV 记录)

请任何人可以给我建议

我现在要做的是

public function getDataFromPath($path=null) {
if($path == null) {
$path = $this->_path;
}
ini_set("auto_detect_line_endings", 1);
$fp = fopen($path, "r");
while(($line = fgetcsv($fp, 5000, ",")) !== FALSE) {
$line = self::trimArray($line);
$this->data[] = $line;
}
fclose($fp);
return $this->data;
}

问候肉山

最佳答案

每个 RDBMS 都不应该出现 50.000 行的问题。没什么。无需批量处理它们。

只需使用 LOAD DATA INFILE命令,你就会没事的。

示例请参见此处:LOAD DATA INFILE easily convert YYYYMMDD to YYYY-MM-DD?

更新(对 Ion Wood 的答案进行评论的原因):要创建 CSV 文件,您可以使用 SELECT .. INTO OUTFILE 命令。

SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;

有关详细信息,请参阅 manual.

关于php - 分解 CSV 中的大量行并将它们作为批处理的 php 进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10119442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com