我目前正在使用以下代码打开TAB分隔文件...
if (($handle = fopen($filetxt, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 0, "\t")) !== FALSE) {
// var_dump($data);
$num = count($data);
echo "<br>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
现在我只想弄清楚如何使用fputcsv将数据放入CSV。一个例子很棒 - 现在我只是想把标题变成CSV然后我可以从那里开始。
现在的数据(正在回应)看起来像这样......
part_number
aaia_part_term_id
short_description
bullet_points
list_price
jobber_price
base_price
epc_code
length
width
height
weight
image_name
如果我能弄清楚如何只将标题回显到CSV中,我想我可以弄清楚其余部分。
答案 0 :(得分:0)
由于CSV文件只是逗号分隔的数据文件,因此逐行读取当前制表符分隔文件并用逗号替换制表符可能更简单
if (($handle = @fopen($filetxt, "r")) !== false) {
while (($line = fgets($handle, 0)) !== false) {
$csv_line = str_replace("\t", ",", $line);
// write $csv_line to your csv file
}
fclose($handle);
}
答案 1 :(得分:0)
fopen只为您提供文件句柄。 csv文件的格式依赖于每行,您读取文件的方式一次使用所有内容,请尝试:
<?PHP
if($handle = fopen($filetext, "r") !== FALSE){
while (!feof($handle)) {
$line_of_text = fgets($handle);
foreach( fgetcsv($line_of_text, 0, "\t") as $csv_item)
print $csv_item."," ;
print "<br>";
}
fclose($handle);
}
?>
我没有测试过这个