Javascript 多个CSV文件到PHP数组-
我对CSV文件有一些问题。 我有大约50个csv文件,看起来都像下面这样 我需要将它们导入Php数组-稍后我将它们放入js var,并在图表中使用 但是CSV看起来不应该做我不能改变它-它在前10行有一些数据-我需要在不同的地方使用它们-只是显示它们-像Kategoria:;ROLNICTWO,LEŚNICTWO IŁOWIECTWO;-这是一个标题Javascript 多个CSV文件到PHP数组-,javascript,php,arrays,csv,Javascript,Php,Arrays,Csv,我对CSV文件有一些问题。 我有大约50个csv文件,看起来都像下面这样 我需要将它们导入Php数组-稍后我将它们放入js var,并在图表中使用 但是CSV看起来不应该做我不能改变它-它在前10行有一些数据-我需要在不同的地方使用它们-只是显示它们-像Kategoria:;ROLNICTWO,LEŚNICTWO IŁOWIECTWO;-这是一个标题 "Okres sprawozdawczy:";"Dane roczne"; "Kategoria:";"ROLNICTWO, LEŚNICTWO
"Okres sprawozdawczy:";"Dane roczne";
"Kategoria:";"ROLNICTWO, LEŚNICTWO I ŁOWIECTWO";
"Grupa:";"SKUP PRODUKTÓW ROLNYCH";
"Podgrupa:";"Skup produktów na 1 ha użytków rolnych";
"Wymiary:";"Wykaz produktów, Lata";
"Kod";"Jednostka terytorialna";"buraki cukrowe";"buraki cukrowe";"buraki cukrowe";"buraki cukrowe";
"2010";"2011";"2012";"2013";
"[kg]";"[kg]";"[kg]";"[kg]";
"1100000000";" ŁÓDZKIE";"278";"355";"363";"333";
"1140000000";" MAZOWIECKIE";"247";"250";"286";"348";
"2120000000";" MAŁOPOLSKIE";"67";"87";"114";"127";
"2240000000";" ŚLĄSKIE";"168";"218";"245";"281";
"3060000000";" LUBELSKIE";"1139";"1170";"1235";"1346";
"3180000000";" PODKARPACKIE";"249";"208";"342";"404";
"3200000000";" PODLASKIE";"6";"30";"5";"0";
"3260000000";" ŚWIĘTOKRZYSKIE";"479";"482";"337";"534";
"4080000000";" LUBUSKIE";"184";"141";"264";"229";
"4300000000";" WIELKOPOLSKIE";"1102";"1412";"1485";"1532";
"4320000000";" ZACHODNIOPOMORSKIE";"522";"830";"909";"642";
"5020000000";" DOLNOŚLĄSKIE";"1044";"1045";"1274";"1136";
"5160000000";" OPOLSKIE";"1392";"1386";"2113";"1660";
"6040000000";" KUJAWSKO-POMORSKIE";"1588";"2040";"2272";"2252";
"6220000000";" POMORSKIE";"624";"748";"724";"879";
"6280000000";" WARMIŃSKO-MAZURSKIE";"153";"150";"163";"167";
如何将它们打印为数组-到,如下所示:
[0] => Array
(
[0] Okres sprawozdawczy
[1] Dane roczne
)
[1] => Array
(
[0] Kategoria
[1] ROLNICTWO, LEŚNICTWO I ŁOWIECTWO
)
[2] => Array
(
[0] Grupa:
[1] SKUP PRODUKTÓW ROLNYCH
)
等。CSV行的前5行
但是从第7行开始,第6行是空的,第7、8、9行是一个标题
"Kod" - its "1100000000"
"Jednostka terytorialna" - its "ŁÓDZKIE"
"buraki cukrowe","2010","[kg]" - "278"
"buraki cukrowe","2011","[kg]" - "355"
"buraki cukrowe","2012","[kg]" - "363"
"buraki cukrowe","2013","[kg]" - "333"
一个数据有3个标题,所以我需要这样想:
其中278是我需要使用的数据,并将其放入JS VAR。
我不确定这样做是否好,请帮我解决。首先,您将此文件设置为变量,您可以像这样使用文件获取内容
$csvData = file_get_contents('your_file.csv');
$explodedCsvData = explode(';',$csvData);
$chuckedCsvData = array_chunk($explodedCsvData,2);
您可以为所有需要添加的文件执行此操作
在您拥有$csvData之后,您只需像这样分解和分块它
$csvData = file_get_contents('your_file.csv');
$explodedCsvData = explode(';',$csvData);
$chuckedCsvData = array_chunk($explodedCsvData,2);
像这样的东西可以达到目的:
$file = fopen('your-file.csv');
$header = true;
$headers = [];
$data = [];
while($line = fread($file)) {
if($line === '') { // Transition from headers to columns info
$header = false;
$line = fread($file);
$label = explode(';', $line);
$l = count($label);
$year = array_pad(explode(';', fread($file)), -$l, null);
$unit = array_pad(explode(';', fread($file)), -$l, null);
$column = [];
for($i=0; $i<$l; ++$i) {
$column[] = [
'label' => $label[$i],
'year' => $year[$i],
'unit' => $unit[$i]
];
}
}
elseif($header) { // Still in the first lines
$headers[] = explode(';', $line);
}
else { // After the columns parsing
$data[] = explode(';', $line);
}
}
fclose($file);
您需要向我们展示一些关于如何获取数据并将其放入数组的代码。$csv=array_map'str_getcsv',file'data.csv';: