Php 我得到的csv的结构是不正确的
我正在尝试用PHP从另一个CSV创建一个新的CSV 我得到的结果是我所需要的,除了CSV的组织 我不需要标题,我需要按列分隔字段 我想得到这样的东西:Php 我得到的csv的结构是不正确的,php,csv,Php,Csv,我正在尝试用PHP从另一个CSV创建一个新的CSV 我得到的结果是我所需要的,除了CSV的组织 我不需要标题,我需要按列分隔字段 我想得到这样的东西: A B C T4004XDUHF210 14.55 40 我得到: A article_id,2.50,availability T4004XDUHF210,14.55,40 MSME10/1-ZS10,14.64,58 R3506XKIKT501,14.86,49
A B C
T4004XDUHF210 14.55 40
我得到:
A
article_id,2.50,availability
T4004XDUHF210,14.55,40
MSME10/1-ZS10,14.64,58
R3506XKIKT501,14.86,49
T3506XDUHF207,14.86,40
R4103504XKIKT602,14.86,40
我的PHP代码:
$outputfp = fopen('new.csv', 'w');
if (($inputfp = fopen("temp/tmp/138702_fr.csv", "r")) !== FALSE) {
while (($data = fgetcsv($inputfp, 1000, "|")) !== FALSE) {
$line = array();
// SKU
$line[]=$data[1];
// Price
$price_calcul=(($data[4]*0.20)+$data[4])+2.5;
$line[] = number_format($price_calcul,2);
// Quantity
$line[]=$data[9];
fputcsv($outputfp, $line);
}
// Clean up
fclose($inputfp);
fclose($outputfp);
}
因此,我不需要文章id,2.50,可用性,我想要用制表符分隔 我注意到您需要在以下方面进行更改:
<?php
$outputfp = fopen('new.csv', 'w');
if (($inputfp = fopen("temp/tmp/138702_fr.csv", "r")) !== FALSE) {
$i = 0; // <-- Add this line
while (($data = fgetcsv($inputfp, 1000, "|")) !== FALSE) {
$i++; // <-- Add this line
if ($i == 1) { //
continue; // <-- Add these lines
} //
$line = array();
// SKU
$line[]=$data[1];
// Price
$price_calcul=(($data[4]*0.20)+$data[4])+2.5;
$line[] = number_format($price_calcul,2);
// Quantity
$line[]=$data[9];
fputcsv($outputfp, $line, "\t"); // <-- Change this line
}
// Clean up
fclose($inputfp);
fclose($outputfp);
}
?>
您应该标记适当的语言。对不起,您的意思是什么?我知道我标记了PHP,但我忘了^^所以您不需要CSV(CSV中的“CS”表示“逗号分隔”)。你想要固定大小的字段还是要制表符分隔的?我想要的只是制表符分隔的字段(对不起我的解释),我来自法国;)我不想要商品id,2.50,可用性你接近了,我没有拿到第一行,没关系,我是说商品id,2.50,可用性。但是字段没有分开,我想要例如T4004XDUHF210(A)14.55(B)40(C)。请看这张图片:如果目标是在Excel中打开它,并让Excel自动识别它是以制表符分隔的,请将输出文件的.csv
扩展名更改为.tab
扩展名。谢谢您的回答,如果我更改扩展名,则输出将为空。我该怎么办?