|
|
Strona 1 z 1
|
[ Posty: 6 ] |
|
AmBasic Odczyt z pliku CSV
Autor |
Wiadomość |
FAQ
Rejestracja: 2012-09-05, 12:03 Posty: 140 Pomógł: 15
|
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 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
FAQ
Rejestracja: 2012-09-05, 12:03 Posty: 140 Pomógł: 15
|
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 [ 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 |
|
|
tomas
Rejestracja: 2007-11-15, 15:22 Posty: 55
|
Re: AmBasic Odczyt z pliku CSV
Dlaczego tekst zwracany jest ze znakami " ?
|
2017-01-16, 11:25 |
|
|
marty123
Rejestracja: 2008-11-19, 13:48 Posty: 165 Pomógł: 3
|
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 |
|
|
szepczący
Rejestracja: 2016-05-17, 20:41 Posty: 392 Pomógł: 75
|
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 |
|
|
marty123
Rejestracja: 2008-11-19, 13:48 Posty: 165 Pomógł: 3
|
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 |
|
|
|
Strona 1 z 1
|
[ Posty: 6 ] |
|
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
|
|
|
|