我正在将分隔的FLAT文件转换为CSV,并且它有一些数据,它们之间用逗号分隔。例如产品名称Iphone 6splus,32 gb。由于这个产品的描述,也可以有特殊字符。如何逃避逗号,因为fputcsv
将此数据视为新行。这是错的。我正在使用
$handle = fopen("data.txt", "r");
$lines = [];
$row_count=0;
if (($handle = fopen("data.txt", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, "\t")) !== FALSE) {
if($row_count>0)
{
$lines[] = $data;
}
$row_count++;
}
fclose($handle);
}
$fp = fopen('example.csv', 'w');
foreach ($lines as $line) {
fputcsv($fp, split('\*\*', $line));
}
fclose($fp);
在开始转换数据并存储到csv
之前,我需要转义该值答案 0 :(得分:0)
将字段括在引号中,例如
field1_value,field2_value,"field 3,value",field4, etc...
要对报价进行编码,请使用“,字段中的单引号将编码为”“,整个字段将变为”“”“。因此,如果您在Excel中看到以下内容:
---------------------------------------
| regular_value |,,,"| ,"", |""" |"|
---------------------------------------
CSV文件将包含:
regular_value, “,,,” “”, “”, “” “ ”“, ”“ ”“ ”“”, “” “” 简单地使用引号封装逗号,因此变为“,”。
命令和引用需要封装和引用,因此“,”变为“”“,”“”。