Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] dzielenie dużego pliku csv
neurogen
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 25.03.2018

Ostrzeżenie: (0%)
-----


mam w pliku csv 50.000 wierszy. szukam sposobu na podzielenie tego 1 pliku na szereg plików np. po 1000 linii. ktoś zna odpowiednie narzędzie lub kod?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LowiczakPL
post
Post #2





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


Ale po co dzielić plik jak można tak jak napisałem użyć iteratora

  1.  
  2. $csv = new SplFileObject('plik.csv');
  3. $csv->setFlags(SplFileObject::READ_CSV);
  4.  
  5. foreach(new LimitIterator($csv, 0, 1000) as $linia){
  6. // linia do zapisu
  7. }
  8.  


to przykład z podziałem na paczki dla zapisu po 1000

  1.  
  2. $csv = new SplFileObject('plik.csv');
  3. $csv->setFlags(SplFileObject::READ_CSV);
  4.  
  5. $start = 0;
  6. $paczka = 1000;
  7. while (!$csv->eof()) {
  8. foreach(new LimitIterator($csv, $start, $paczka) as $linia){
  9. // linia do zapisu
  10. }
  11. $start += $paczka;
  12. }
  13.  


Ten post edytował LowiczakPL 10.05.2018, 19:59:11
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 06:12