У меня есть CSV-файл на 350 листов со всеми поставщиками, которые относятся к категориям Одежда, Инструменты, Развлечения и т. Д. Используя следующий код, я смог распечатать мой CSV-файл.
<?php
$fp = fopen('promo_catalog_expanded.csv', 'r');
echo '<tr><td>';
echo implode('</td><td>', fgetcsv($fp, 4096, ','));
echo '</td></tr>';
while(!feof($fp)) {
list($cat, $var, $name, $var2, $web, $var3, $phone,$var4, $kw,$var5, $desc) = fgetcsv($fp, 4096);
echo '<tr><td>';
echo $cat. '</td><td>' . $name . '</td><td><a href="http://www.' . $web .'" target="_blank">' .$web.'</a></td><td>'.$phone.'</td><td>'.$kw.'</td><td>'.$desc.'</td>' ;
echo '</td></tr>';
}
fclose($file_handle);
show_source(__FILE__);
?>
Первое, что вы, вероятно, заметите, это посторонние переменные в списке (). это из-за того, как файл Excel / CSV-файл:
Category,,Company Name,,Website,,Phone,,Keywords,,Description
,,,,,,,,,,
Clothes,,4imprint,,4imprint.com,,877-466-7746,,"polos, jackets, coats, workwear, sweatshirts, hoodies, long sleeve, pullovers, t-shirts, tees, tshirts,",,An embroidery and apparel company based in Wisconsin.
,,Apollo Embroidery,,apolloemb.com,,1-800-982-2146,,"hats, caps, headwear, bags, totes, backpacks, blankets, embroidery",,An embroidery sales company based in California.
Следует отметить, что последняя строка начинается с двух запятых, так как она также указана в категории «Одежда».
Меня беспокоит то, что я неправильно понял вывод CSV.
Должен ли я использовать цикл foreach вместо этого способа списка?
Должен ли я сначала избавиться от ненужных пустых столбцов?
Пожалуйста, сообщите о любых недостатках, которые вы можете найти, об улучшениях, которые я могу использовать, чтобы я мог быть готов импортировать эти данные в базу данных MySQL.