Wenn ich eine CSV auf einem Server gespeichert habe, wie kann ich PHP verwenden, um eine bestimmte Zeile zu schreiben, sagen 142,fred,elephants
auf den Grund davon?Hinzufügen einer neuen Zeile zu einer CSV-Datei
Antwort
Öffnen Sie die CSV-Datei zum Anhängen (fopen
Docs):
$handle = fopen("test.csv", "a");
dann Ihre Zeile hinzufügen (fputcsv
Docs):
fputcsv($handle, $line); # $line is an array of string values here
Dann den Griff schließen (fclose
Docs):
fclose($handle);
Ich hoffe, das ist hilfreich.
@fvu: Nicht wirklich. Das '+' ist nicht notwendig, 'a' alleine erstellt die Datei auch, wenn sie nicht existiert. Das '+' dient zum Lesen der Unterstützung. Siehe * "'a' \t Nur zum Schreiben öffnen; den Dateizeiger am Ende der Datei platzieren. Wenn die Datei nicht existiert, versuchen Sie, sie zu erstellen." * Http://de.php.net/manual/en /function.fopen.php – hakre
@Dale: War nicht so gemeint. Einen trivialisierenden letzten Satz hinzugefügt, der so leicht nicht so falsch gelesen werden kann. Um hier niemandem die Gefühle zu verletzen. – hakre
Wäre hilfreich, wenn Sie hinzufügen, dass '$ line' ein Array von Strings sein muss und nicht die eigentliche Zeile. – Overcode
Sie können eine objektorientierte Schnittstelle Klasse für eine Datei verwenden - 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;
Wenn Sie jede Datei aufteilen möchten die Header des Originals zu halten; dies ist die modifizierte Version der Antwort des 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);
Diese Lösung funktioniert für mich:
<?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. XML - Hinzufügen einer neuen Zeile
- 2. Programmgesteuertes Hinzufügen einer neuen Zeile zu einer QAbstractListModel-Unterklasse
- 3. Hinzufügen einer neuen Zeile zu einer Eigenschaft in Pega
- 4. Hinzufügen einer neuen Zeile zu einer Textdatei in MS-DOS
- 5. Hinzufügen einer neuen Zeile in iTextSharp
- 6. Ruby: Hinzufügen einer neuen Zeile Probleme
- 7. Hinzufügen einer neuen Zeile zur SerializeArray-Ausgabe
- 8. Hinzufügen einer neuen Zeile in Datei?
- 9. Hinzufügen einer neuen Zeile zu GridView ohne DataBind
- 10. Ausnahme beim Hinzufügen einer neuen Zeile zu meinem DataGridView
- 11. Hinzufügen einer neuen Zeile zu DataGridView von KeyDown
- 12. DOMpdf, Hinzufügen einer neuen Seite zu PDF
- 13. Hinzufügen einer neuen Site zu Ngnix
- 14. Hinzufügen einer neuen Spalte zu Matrixfehler
- 15. Hinzufügen einer neuen Seite zu Volttron Central
- 16. Kontrollen zu einer neuen Klasse Hinzufügen
- 17. Bearbeiten oder Hinzufügen einer neuen Zeile in jqGrid
- 18. Ändern der Symbolleiste zum Hinzufügen einer neuen Zeile
- 19. Probleme beim Hinzufügen einer neuen Zeile zur Textdatei
- 20. Schaltfläche in einer neuen Zeile auf Datentabelle hinzufügen, undefined
- 21. Hinzufügen einer neuen Zeile zur Datenrasteransicht in der C# -Anwendung
- 22. Hinzufügen einer neuen Zeile/break-Tag in XML
- 23. Hinzufügen einer neuen Zeile zum oberen Ende der Datentabelle
- 24. Hinzufügen einer neuen Zeile (mit einer Templat-Spalte) zu einem Infragistics UltraWebGrid
- 25. Hinzufügen einer neuen Zeile zu einer Auswahl von Zeilen in einem Abschnitt vba
- 26. Hinzufügen einer neuen Zeile zu einer Tabelle mit vielen Vorgänger-Schlüsseln
- 27. Hinzufügen einer neuen Schaltfläche zu einer Seite in Wordpress
- 28. Hinzufügen einer neuen Tabellenspalte zu einer bestimmten Ordinalposition
- 29. Hinzufügen einer neuen Ausgabespalte zu einer benutzerdefinierten Datenflusskomponente SSIS
- 30. Anfügen einer neuen Zeile in der Tabelle
dass genannt * Anfügen * den Modus sehen, wenn Sie eine Datei öffnen, da ist oft offen für das Anhängen von Dateisystemfunktionen. – hakre