我正在尝试使用PHP读取CSV文件。我想为每一行使用while语句,并希望为每列分配一个变量。我为每列分配变量的原因是我可以在sql查询中使用这些变量。
$csv = fopen('sample2.csv','r') or die("can't open file");
while($csv_line = fgetcsv($csv,1024)) {
//Not sure what to do here
}
fclose($csv) or die("can't close file");
我了解如何打开文件并阅读整行,但不了解如何控制各列。
更新代码
<?php
$csv = fopen('sample.csv','r') or die("can't open file");
while($csv_line = fgetcsv($csv,1024)) {
list($column1, $column2, $column3) = $csv_line;
echo 'Column 1: '.$column1.'<br />';
echo 'Column 2: '.$column2.'<br />';
echo 'Column 1: '.$column1.'<br />';
echo 'Column 3: '.$column3.'<br />';
}
fclose($csv) or die("can't close file");
?>
答案 0 :(得分:4)
fgetcsv
返回一个包含每个字段的数组。您可以使用list
函数获取该数组中的所有列:
while($csv_line = fgetcsv($csv,1024)) {
list($column1, $column2, $column3) = $csv_line;
}
答案 1 :(得分:0)
如果您执行了print_r($csv_line)
,您将看到您正在获取一个数组,并按照每个字段进行拆分。
答案 2 :(得分:0)
$ csv = fopen('sample2.csv','r')或死(“无法打开文件”); while($ csv_line = fgetcsv($ csv,1024)){ $ column0 = $ csv_line [0]; $ column2 = $ csv_line [0]; $ column3 = $ csv_line [0]; $ column4 = $ csv_line [0]; $ column = $ csv_line [];
} fclose($ csv)或死(“无法关闭文件”);
答案 3 :(得分:0)
您可以使用csv reader类并简单地将csv文件数据解析为数组格式。
http://www.mbyte.in/csv-reader/
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
include "csv_reader.php";
$csvObject=new Mbyte_Csv();
$file='seed.csv';
$data=$csvObject->getData($file);
echo "<pre>";
print_r($data);
echo "</pre>";
?>
&#13;