我有一个包含3列和223行的CSV文件。列从项目(A列),说明(B列)到类型(C列)。每行包含有关每个项目的信息。我想将所有电子表格中的数据插入HTML文件中。与此同时,我想通过不手动复制和粘贴233组信息来节省时间。
最初我需要的信息是在网站上,但是,我发现了一个建议,建议使用网络抓取工具来获取我需要的所有信息。我使用python做到了这一点,现在电子表格中包含了所有信息。
显示了我要遵循的模板(使用电子表格条款)。如果我是手动执行此操作,则下一行代码将显示为B,而不是A(A1-> B1)
<p class="item-title">(A1 in spreadsheet)</p>
<p class="w-itemid">ItemID: N/A</p>
<p>• (A2 in spreadsheet)</p>
<ul>
<p>Type: (A3 in spreadsheet</p>
<p>Item Pool: N/A</p>
</ul>
我希望该解决方案能够将电子表格中的信息链接到HTML中,而无需花费大量时间复制和粘贴233个项目。我不介意使用Javascript,jQuery或PHP,只要它可以帮助我完成此任务即可。
答案 0 :(得分:0)
您可以尝试以下解决方案:
$row = 1;
$columnArray = [];
$resultArray = [];
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle)) !== FALSE) {
if($row == 1){
$columnArray = $data;
}else{
$tmpArray = [];
for($i=0;$i<count($columnArray);$i++){
$tmpArray[$columnArray[$i]] = $data[$i];
}
$resultArray[] = $tmpArray;
}
$row++;
}
fclose($handle);
}
我假设CSV的第一行包含列名。最后,您将拥有$resultArray
个关联数组,其中包含您的所有数据。
更新
如果您的CSV在第一行中不包含字段名称,则可以使用以下代码:
$row = 1;
$resultArray = [];
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle)) !== FALSE) {
$resultArray[] = $data;
$row++;
}
fclose($handle);
}
在这种情况下,$resultArray
将把数据作为普通的嵌套数组保存,您可以通过遍历数据来显示信息:
if(count($resultArray)>0){
for($i=0;$i<count($resultArray);$i++){
echo '<p>Item: '.$resultArray[$i][0].'</p>';
echo '<p>Description: '.$resultArray[$i][1].'</p>';
echo '<p>Type: '.$resultArray[$i][2].'</p>';
}
}