【发布时间】:2017-08-02 09:49:59
【问题描述】:
如何使用"," 或"\r\n" 将字符串与csv 文件分开?
【问题讨论】:
如何使用"," 或"\r\n" 将字符串与csv 文件分开?
【问题讨论】:
使用explode分隔字符串
<?php
$csv_string = file_get_contents("file.csv");
$separated = explode("\n", $csv_string);
print_r($separated);
【讨论】:
$string=Dateiname;Stueckzahl;Termin;Auftragsnummer;Position;Bemerkung;Maschine;Material;Dicke;Gewicht;Bemerkung_1;Bemerkung_2;Kanten 58117600-3;10;20170807;107;;For May week 1;L3050 5,0KW;CRCA;1,50,000;0,05311;LASER;;FABRICATION BAY 58171100-04;2;20170807;106;;For May week 1;L3050 5,0KW;CRCA;1,50,000;0,34630;LASER;;FABRICATION BAY 58383310;3;20170807;111;;For May week 1;L3050 5,0KW;CRCA;1,50,000;0,11151;LASER;BENDING; 1404704000-1;7;20170807;108;;For May week 1;L3050 5,0KW;CRCA;1,50,000;5,45,241;LASER;;FABRICATION BAY 1404704000-3;14;20170807;110;;For May week 1;L3050 5,0KW;CRCA;1,50,000;0,24598;LASER;BENDING;FABRICATION BAY 58171100-03;6;20170807;105;;For May week 1;L3050 5,0KW;CRCA;1,50,000;0,39093;LASER;BENDING;FABRICATION BAY 58656800;2;20170807;113;;For May week 1;L3050 5,0KW;CRCA;1,50,000;0,18605;LASER;BENDING;FABRICATION BAY 58383420;3;20170807;112;;For May week 1;L3050 5,0KW;CRCA;1,50,000;0,23491;LASER;BENDING;
$string= str_replace(";",",",$string);
【讨论】:
看看 php csv 函数: http://php.net/manual/en/function.fgetcsv.php
<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>
【讨论】: