Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-11-25, 09:08x



Odpowiedz w temacie  [ Posty: 6 ] 
AmBasic Odczyt z pliku CSV 
Autor Wiadomość

Rejestracja: 2012-09-05, 12:03
Posty: 140
Pomógł: 15
Post AmBasic Odczyt z pliku CSV
Jak odczytać dane z pliku CSV?. Separatorem pliku jest przecinek. Ogranicznikiem tekstu jest znak "

_________________
Użytkownik FAQ to tematy, które trafiły do mojaSymfonia.pl przez e-mail, telefon lub w inny sposób.


2013-10-10, 16:56
Wyświetl profil
Autor Wiadomość
 



Rejestracja: 2012-09-05, 12:03
Posty: 140
Pomógł: 15
Post Re: AmBasic Odczyt z pliku CSV
Przykład danych do odczytu

Kod:
"nazwa","limitkwota","plattyp","kod","miejscowosc","limiti"
"Agora Gazeta",1000.00,255,"Agora","Warszawa",1
"Auto SALEon s.c.",0.00,255,"Auto SALEon s.c.","Szczecin",0
"Bank PKO SA",0.00,255,"Bank PKO SA","Warszawa",0
"Edelweiss SA",0.00,255,"Edelw Zwierzyniec","Krasnystaw",0
"Edelweiss SA Oddział Zwierzyniec",0.00,131,"Edelweiss SA","Zwierzyniec",0
"Herr Flueck KG",0.00,255,"Herr Flueck KG","Hannover",0
"Kornel Kobza i ska",0.00,255,"Kornel Kobza","Radom",0
"Kornex sp. z o.o.",15000.00,130,"Kornex sp. z o.o.","Zamość",1
"MATRIX.PL SA",0.00,255,"MATRIX","Warszawa",0
"Nowak Jan",0.00,130,"Nowak Jan","Kraków",0
"TP SA",0.00,255,"TP SA","Lublin",0


Do wyodrębnienia danych użyj obiektu

Kod:
   dispatch exp = "VBScript.RegExp"
   dispatch mat
   exp.Global = 1
   exp.IgnoreCase = 1
   exp.pattern= "([^,\"]+|\"([^\"]|\"\")*\"|,,)"

   string sLinia
   int i

   int iCSV = open "c:\\temp\\dane.csv" for input   

      while (Input #iCSV,sLinia)
   
         mat = exp.Execute( sLinia  )
      
         for i = 0 to i>mat.Count()-1
               print using "Kolumna : %d Wartość : %s" + lf, i, mat.item(i).value,lf
         next i
          
      wend
   
   Close(iCSV)


Wynik działania

Załącznik:
hmcsv03.jpg
hmcsv03.jpg [ 130.58 KiB | Przeglądany 4684 razy ]

_________________
Użytkownik FAQ to tematy, które trafiły do mojaSymfonia.pl przez e-mail, telefon lub w inny sposób.


2013-11-15, 19:16
Wyświetl profil

Rejestracja: 2007-11-15, 15:22
Posty: 55
Post Re: AmBasic Odczyt z pliku CSV
Dlaczego tekst zwracany jest ze znakami " ?


2017-01-16, 11:25
Wyświetl profil

Rejestracja: 2008-11-19, 13:48
Posty: 165
Pomógł: 3
Post Re: AmBasic Odczyt z pliku CSV
Sprawdziłem ten raport i działa całkiem sprawnie, pojawia się tylko problem w sytuacji gdy dwie kolejne kolumny są puste, wtedy mam w pliku trzy przecinki obok siebie i liczba kolumn wartości nie zgadza się z liczbą kolumn nagłówka.

Na razie wymyśliłem dwa szybkie rozwiązania,
1.żeby wszystkie kolumny miały jakąś wartość, ale to nie jest najbradziej optymalne rozwiązanie.
2.to chyba lepsze - żeby polecieć po pliku najpierw i zamienić trzy kolejne przecinki na cztery w każdej linii, wtedy zadziała poprawnie wyrażenie regularne, można to zrobić przed komendą :
Kod:
mat = exp.Execute( sLinia  )


2018-04-19, 10:39
Wyświetl profil

Rejestracja: 2016-05-17, 20:41
Posty: 392
Pomógł: 75
Post Re: AmBasic Odczyt z pliku CSV
Tu jest temat o użyciu wyrażeń regularnych (nie obiektem ale wbudowaną zmienną specjalną buf + find regular):
viewtopic.php?f=15&t=8009


2018-04-19, 11:20
Wyświetl profil

Rejestracja: 2008-11-19, 13:48
Posty: 165
Pomógł: 3
Post Re: AmBasic Odczyt z pliku CSV
już kombinowałem z różnymi wyrażeniami, ale jest kłopot, żeby rozbić dwa przecinki jako jedną kolumne, a trzy jako dwie kolumny, zostanę przy podmianie trzech przecinków na cztery przed zastosowaniem wyrażenia regularnego.


2018-04-19, 13:33
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 6 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. Eksport do pliku i odczyt z pliku

w Programowanie

sebastianl84

0

2743

2012-01-26, 17:03

sebastianl84 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. utworzenie pliku txt z csv

w Techniczne

kaljaam

1

3074

2011-07-06, 16:19

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. import specjalny - dwukrotny odczyt pliku wejściowego

w Programowanie

elja

7

4075

2010-07-13, 14:48

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Intrastat - Instrukcja przygotowania pliku CSV

w Programy Handlowe

mellos

0

3897

2016-08-25, 15:57

mellos Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 14 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant