国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

創(chuàng)建一個(gè)包含大量txt文件的csv文件
P粉287254588
P粉287254588 2024-02-26 17:29:54
0
2
618

我正在嘗試讀取大量 txt 文件并將第一行保存為標(biāo)題,將其余文本保存為內(nèi)容,然后導(dǎo)出到 CSV 文件。

我為 CSV 創(chuàng)建一個(gè)通過迭代增加的 id,但是當(dāng)我遇到迭代中看不到的錯(cuò)誤時(shí),因?yàn)楫?dāng)它保存數(shù)組中的內(nèi)容時(shí),會(huì)將最后一個(gè)內(nèi)容添加到該值。

我需要?jiǎng)?chuàng)建一個(gè) CSV,其中包含 3 個(gè)“列”,分別命名為 id、titulo 和 contenido,并按每個(gè)文件將信息保存在數(shù)組中。一個(gè) txt 文件,一次數(shù)組迭代。

抱歉我的英語不好。

這是我的代碼:

<?php
/* Cogemos todos los archivos txt de la carpeta archivos del servidor */
$files = glob("archivos/*.txt");
/* Creamos el array para guardar los datos y le metemos la primera línea que es el nombre de los campos a importar */
$datosparacsv=array(array("ID","titulo","contenido"));
/* Creamos el id que tendrá cada campo del array para después poder importar */
$id = 0;
/* Recorremos cada archivo para coger los datos */
foreach($files as $file) {
    /* Sacamos el título de la primera línea del archivo txt */
    $titulo = trim(fgets(fopen($file, 'r')));
    /* Sacamos el resto del contenido pero quitamos la primera linea con el condicional if*/
    $archivo = file($file);
    foreach ($archivo as $num=>$line){
        if ($num==0) {
            continue;
        }
        else{
            $contenido .= $line."\n";
        }
    }
    /* A?adimos el contenido extraido al array para luego pasarlo a CSV */
    array_push($datosparacsv, array($id,$titulo,$contenido));
    /* Sumamos uno al id para que sea único */
    $id++;
}
$delimitador = ','; //parameter for fputcsv
$enclosure = '"'; //parameter for fputcsv
//convert array to csv
$archivocsv = fopen('entradas.csv', 'w+');
foreach ($datosparacsv as $data_line) {
    fputcsv($archivocsv, $data_line, $delimitador, $enclosure);
}

$data_read="";
rewind($archivocsv);
//read CSV
while (!feof($archivocsv)) {
    $data_read .= fread($archivocsv, 8192); // will return a string of all data separeted by commas.
}
fclose($archivocsv);
echo $data_read;

要讀取的文件示例。

文件1.txt

Titulo 1
texto 1

文件2.txt

Titulo 2
texto 2

CSV

id, titulo, contenido, 0, Titulo 1, texto 1, 1, Titulo 2, texto 2

非常感謝各位朋友。

P粉287254588
P粉287254588

全部回復(fù)(2)
P粉198670603

我使用這個(gè)形式是因?yàn)槲铱梢愿玫馗袷交业拇鸢浮?/p>

我需要文件的全部?jī)?nèi)容減去第一行都在 $contenido 列中。

現(xiàn)在,使用您的代碼可以正常工作,但如果同一文件在內(nèi)容后有多于一行,它將使用每一行作為結(jié)果的新行。

例如我現(xiàn)在使用這個(gè)文件

文件1.txt

Titulo 1
texto 1,texto 1

Some more text in file 1

文件2.txt

Titulo 2
texto 2, texto 2, texto 2, texto 2, texto 2, texto 2

Some text 2 of the same archive

這會(huì)生成這個(gè) entradas.csv

ID,titulo,contenido
0,"Titulo 1","texto 1,texto 1"
1,"Titulo 1",
2,"Titulo 1","Some more text in file 1"
3,"Titulo 2","texto 2, texto 2, texto 2, texto 2, texto 2, texto 2"
4,"Titulo 2",
5,"Titulo 2","Some text 2 of the same archive"

但我需要這個(gè):

ID,titulo,contenido
0,"Titulo 1","texto 1,texto 1

Some more text in file 1"
1,"Titulo 2","texto 2, texto 2, texto 2, texto 2, texto 2, texto 2

Some text 2 of the same archive"

內(nèi)容保存 txt 文件中的所有空格和 \n 非常重要,因?yàn)樵?txt 文件是博客的帖子。

一個(gè)文件.txt 的示例

?Como puedo comer galletas??Cuántos sabores de galletas hay?

Pues hay de todos los que puedas imaginar.

標(biāo)題后的所有文本都必須保持在同一行,以保存 \n 和所有內(nèi)容。

一個(gè)文件在 CSV 中只有一行。

非常感謝你,我對(duì)我的英語感到抱歉。

P粉548512637

第 19 行的 $contenido 未定義,它試圖將一個(gè)不存在的變量與 .= 連接起來。 $contenido 變量也不是必需的,因?yàn)槊總€(gè)存檔行都在 $datosparacsv 中定義。

也無需定義 $delimitador$enclosure,因?yàn)槎x的值也是默認(rèn)值。

這是正確的 PHP 代碼,其中包含預(yù)期的 CSV 輸出以及解釋每個(gè)修改行的注釋。

它還根據(jù)需要保留內(nèi)容中的新行和空格。

文件/1.txt

Titulo 1
texto 1

文件/2.txt

Titulo 2
texto 2

texto3



texto4

這將使用此數(shù)據(jù)保存 entradas.csv。

ID,titulo,contenido
0,"Titulo 1","texto 1"
1,"Titulo 2","texto 2

texto3



texto4"
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板