Si tengo un archivo CSV guardado en un servidor, ¿cómo puedo usar PHP para escribir una línea determinada, digamos 142,fred,elephants
en la parte inferior?Agregue una nueva línea a un archivo CSV
Respuesta
Abrir el archivo CSV para añadir (fopen
Docs):
$handle = fopen("test.csv", "a");
Publique sus líneas (fputcsv
Docs):
fputcsv($handle, $line); # $line is an array of string values here
continuación, cierre la manija (fclose
Docs):
fclose($handle);
Espero que esto sea útil.
@fvu: No realmente. El '+' no es necesario, 'a' solo crea el archivo también si no existe. El '+' es para soporte de lectura. Consulte * "'a' \t Abierto sólo para escritura, coloque el puntero del archivo al final del archivo. Si el archivo no existe, intente crearlo." * Http://de.php.net/manual/en /function.fopen.php – hakre
@Dale: No fue así. Se agregó una frase final más trivial que no se puede leer tan mal tan fácilmente. No herir los sentimientos de nadie aquí. – hakre
Ayudaría si incluyese que '$ line' necesita ser una matriz de cadenas, en lugar de la línea misma. – Overcode
Se puede utilizar una clase de interfaz orientada a objetos para un archivo - SplFileObject http://php.net/manual/en/splfileobject.fputcsv.php (PHP 5> = 5.4.0)
$file = new SplFileObject('file.csv', 'a');
$file->fputcsv(array('aaa', 'bbb', 'ccc', 'dddd'));
$file = null;
Si desea que cada archivo dividido para retener las cabeceras del original; esta es la versión modificada de la respuesta de hakre:
$inputFile = './users.csv'; // the source file to split
$outputFile = 'users_split'; // this will be appended with a number and .csv e.g. users_split1.csv
$splitSize = 10; // how many rows per split file you want
$in = fopen($inputFile, 'r');
$headers = fgets($in); // get the headers of the original file for insert into split files
// No need to touch below this line..
$rowCount = 0;
$fileCount = 1;
while (!feof($in)) {
if (($rowCount % $splitSize) == 0) {
if ($rowCount > 0) {
fclose($out);
}
$out = fopen($outputFile . $fileCount++ . '.csv', 'w');
fputcsv($out, explode(',', $headers));
}
$data = fgetcsv($in);
if ($data)
fputcsv($out, $data);
$rowCount++;
}
fclose($out);
Esta solución funciona para mí:
<?php
$list = array
(
"Peter,Griffin,Oslo,Norway",
"Glenn,Quagmire,Oslo,Norway",
);
$file = fopen("contacts.csv","w");
foreach ($list as $line)
{
fputcsv($file,explode(',',$line));
}
fclose($file);
?>
Ref: https://www.w3schools.com/php/func_filesystem_fputcsv.asp
- 1. ¿Cómo agregar una nueva columna a un archivo CSV?
- 2. Android: ¿Cómo escribir nueva línea en un archivo CSV?
- 3. Agregue una nueva línea a un archivo de texto en MS-DOS
- 4. Agregue una nueva línea en el bucle 'foreach' de Makefile
- 5. Generar archivo CSV para Excel, cómo tener una nueva línea dentro de un valor
- 6. Añade una nueva línea a un NSString
- 7. cómo recorro una línea desde un archivo csv en powershell
- 8. Agregue una sola línea al principio del archivo de texto
- 9. PHP que genera csv no enviar correcta nueva línea alimenta
- 10. ¿Agregar una nueva línea en el archivo?
- 11. agregar una nueva fila al archivo csv viejo python
- 12. Agregue una coma al final de cada línea usando php
- 13. Windows Forms: agregue una nueva línea a la etiqueta si el texto es demasiado largo
- 14. Adjuntar una nueva línea en un archivo (archivo de registro) en C++
- 15. Convertir archivo CSV a XML
- 16. Anexando a la última línea del archivo CSV en Java
- 17. Agregue un archivo .asmx a asp.net MVC?
- 18. regex para dividir línea (archivo csv)
- 19. Cargar y analizar el archivo csv con "nueva línea universal" en python en Google App Engine
- 20. Abra el archivo en modo universal nueva línea utilizando el módulo CSV Django
- 21. Carácter PHP de fin de línea para un archivo csv
- 22. ¿Cómo anexar a un archivo CSV?
- 23. Python escritura una matriz numpy a un archivo CSV
- 24. Crear una tabla vinculada a un archivo csv
- 25. ¿Puede un archivo CSV tener un comentario?
- 26. ¿Cómo agregar una nueva línea de texto a un archivo existente en Java?
- 27. nueva línea "\ n" en el archivo yaml
- 28. Eliminar nueva línea del final del archivo
- 29. Formulario de Symfony2: seleccione una entidad o agregue una nueva
- 30. escribir nueva línea en un archivo de texto en Matlab
que se llama * añadiendo * ver el modo cuando se abre un archivo, hay a menudo está abierto para agregarse con las funciones del sistema de archivos. – hakre