Я пытаюсь преобразовать файл .txt с разделителями табуляции в файл CSV.PHP - преобразование файла с разделителем TXT в CSV
Я был в состоянии использовать fgetcsv(), чтобы открыть текстовый файл и получить данные для каждой строки со следующим кодом:
$handle = fopen("fileurl.com", "r");
$row = 1;
if (($handle = fopen("fileurl.com", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, "\t")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
print_r($data);
}
fclose($handle);
}
Теперь я просто нужно создать файл CSV из массива данных. Я пробовал использовать fputcsv(), но не имел никакой удачи. Я пытался что-то вроде этого, но файл CSV создается не правильно, и только 1 строку:
$fp = fopen('file.csv', 'w');
fputcsv($fp, $data, "\t");
fclose($fp);
Пример того, как создать CSV-файл из массива данных $ было бы здорово. Я потратил много времени на изучение и попытку понять это, но не смог заставить его работать.
Спасибо за ответ. Я пробовал это и получил следующую ошибку: Предупреждение: fputcsv() ожидает, что параметр 2 будет массивом, указанная строка –
Я обновил свой ответ, используя код в качестве примера. Вы не помещали данные в массив, который необходим для этого. –
Это получает предупреждение: неверный аргумент, предоставленный foreach() в этой строке $ fp = fopen ('file.csv', 'w'); –