Заголовочный файл CSV в цикле - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть CSV-файл, в котором данные о продажах задаются заголовком даты, а ID - это идентификатор продавца. Поэтому я хочу сгенерировать файл, в котором я беру информацию из CSV, и он печатается следующим образом:

ID: 65 дата: 1/22/20 items-1

ID: 65 дата: 23.01.20 позиции-2

и т. Д. ..... и заканчивая

ID : 333 дата: 1/26/20 пунктов-3

выше будет в al oop для любых дат.

table

Я использую следующий код:

<?php
$counter=0;
$fileName="test1.csv";
$file=fopen($fileName, "r");    
fgetcsv($file); 

while (($column = fgetcsv($file, 1000, ",")) !== FALSE) { 
$counter++;    
// assigning csv column to a variable
$ID=$column[0];
$Dates=$column[1];
$values=$column[2];                     

echo $ID;
echo $Dates;
echo $values ;
}?>

, чтобы получить столбцы, но я не могу выбрать способ получения левого столбца, а затем перейти к правому столбцу и получает информацию заголовка и соответствующее значение справа. Все, что я получаю, это столбцы по столбцам и строки за строкой, которые не соответствуют желаемому.

1 Ответ

0 голосов
/ 11 апреля 2020

В данный момент вы имеете дело только с первым элементом в каждой строке. Этот код хранит заголовки ($headers), и при чтении каждой строки он использует array_combine(), чтобы добавить даты к каждому значению.

Затем он удаляет идентификатор начала строки и сохраняет его. Затем перебирает оставшиеся данные и отображает их по элементам ...

$file=fopen($fileName, "r");
$headers = fgetcsv($file);

while (($row = fgetcsv($file, 1000, ",")) !== FALSE) {
    $counter++;
    $rowData = array_combine($headers, $row);

    $id = array_shift($rowData);
    foreach ( $rowData as $date => $value ) {
        echo "ID :{$id} date:{$date} items-{$value}".PHP_EOL;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...