我有一个包含 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,只要它能帮助我完成这项任务。
最佳答案
你可以尝试这个解决方案:
$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>';
}
}
关于javascript - 有没有办法将电子表格信息链接到我的 HTML 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55930909/