我的csv文件如下所示。
#file contents
EC023,2
EC026A,3
EC025,7
EC027,67
EC031,567
EC033,78
EC034,234
EC038,67
EC038A,67
EC039,60
EC039A,100
使用php库parsecsv将文件加载到数组中。
Array ( [0] => Array ( [EC023] => EC026A [2] => 3 )
[1] => Array ( [EC023] => EC025 [2] => 7 )
[2] => Array ( [EC023] => EC027 [2] => 67 )
[3] => Array ( [EC023] => EC031 [2] => 567 )
[4] => Array ( [EC023] => EC033 [2] => 78 )
[5] => Array ( [EC023] => EC034 [2] => 234 )
[6] => Array ( [EC023] => EC038 [2] => 67 )
[7] => Array ( [EC023] => EC038A [2] => 67 )
[8] => Array ( [EC023] => EC039 [2] => 60 )
[9] => Array ( [EC023] => EC039A [2] => 100 ) )
但是我需要处理每组数据。例如,在第一行中,我需要创建一个变量$ code ='EC023'和$ qty = 2
多年来我一直在用PHP处理Mysql数据,但这是我第一次尝试导入csv文件并对其进行处理。
感谢您的帮助。
答案 0 :(得分:0)
我不确定您是否需要该库来解析CSV文件。这种更简单的方法对您有用吗?
编辑:添加了文件支持。这种方法可以轻松处理1GB或更大的文本文件,以及您描述的数亿条记录(只要您的PHP配置允许)。
$f = fopen("inputfile.txt", "r");
while (($line = fgets($f)) !== false) {
// process the line read.
$row = str_getcsv($arr[$i]);
$code = $row[0];
$qty = $row[1];
echo $code . ": " . $qty . "<br>";
}
fclose($f);
答案 1 :(得分:0)
那么您可以使用文件功能。参见http://php.net/manual/en/function.file.php。它将文件的内容读取到数组。文件中的每一行都是一个数组元素。读取csv文件的内容后,可以使用循环遍历数组。
或者,您也可以使用内置的php函数:str_getcsv和fgetcsv