![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dane zostały utworzone w Excelu i wyeksportowane do .csv. Niestety w niektórych komórkach znajdują się niewidoczne znaki w tym znak końca wiersza. Przez to
zwraca tablicę w której są czasami fragmenty wierszy. W jaki sposób usunąć te niechciane niewidoczne znaki ale pozostawić ostatni znak końca wiersza? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
bo do csv jest inna funkcja.. getcsv
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
To nic nie zmienia. Funkcja fgetcsv () sczytuje dane z pliku wiersz po wierszu. Jeżeli wiersz jest "złamany" bo w którejś z linii znajduje się niewidoczny znak \n to do tablicy zwracanej przez funkcję fgetcsv() wędruje fragment poprzedniego wiersza. Nie mogę usunąć z plików wszystkich znaków \n bo wtedy powstanie jeden wiersz. Musiałbym usunąc z wiersza wszystkie po za ostatnim przy czym może się zdarzyć, że ostatni jest równocześnie jedynym.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
pokaż taki wiersz z tego csv
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wkleiłem dwa wiersze: 105 w którym opis jest złamany i to w dwóch miejscach. 106 (poprawny) to kolejny wiersz. P.S. Plik jest zapisywany do .csv w LibreOffice Calc. Przy zapisie opcje: rozdziel pola ; i separator tekstu ". Chyba dość dziwne, że znak " dla wiersza 105 znajduje się tylko na końcu pola z opisem. W wierszu 106 znak " nie występuje wcale. Ten post edytował q3d 18.09.2015, 12:56:18 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
dlatego Ci nie działa, bo jest źle sformatowany csv
" powinien być na początku i na końcu tekstu, wtedy łamanie linii nie będzie niczym innym jak tekstem i odczytany jak komórka. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
TO by trochę wyjaśniało sprawę. Pytanie teraz dlaczego LibreOffice w tym przypadku to tak zapisuje.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:23 |