data = Pm.FileCsvRead(sFile, sFields, sParams)
sFile | (String) Plik do wczytania. Niezależnie od tego, czy ten parametr jest czy też nie jest ustawiony, to przy pomocy parametru fileselect można spowodować otwarcie dialogu do wyboru pliku na dysku. Jeżeli nie jest wprowadzona pełna ścieżka, wtedy zostanie uzupełniona względnie w stosunku do foldera aplikacji. Zalecanym jest stosowanie ścieżki w składni PROMOTIC - patrz PROMOTIC ścieżka do plików lub folderów. |
---|---|
sFields | (String) Określa, które kolumny z pliku będą wczytane i jakie typy danych będą posiadaś wczytane dane. Na przykład "filecols:0,1,2,3;datatypes:string,double,string,string;". filecols - Określa, które kolumny z pliku źródłowego CSV znajdą się w docelowej macierzy. Jeżeli jest ustawione filecols:all; (domyślnie), wtedy zostaną zapisane wszystkie kolumny w identycznej kolejności. Lista liczbowych indeksów, kiedy stopniowo dla każdej kolumny docelowej macierzy określany jest indeks (kolejność) w pliku źródłowym CSV. Każda kolumna docelowej macierzy może zostać wczytana z dowolnej kolumny w pliku źródłowym CSV. To znaczy, że lista musi zawierać tyle pozycji, ile kolumn zawiera docelowa macierz wartości. Jeżeli jest ustawione filecols:all; (domyślnie), wtedy zostaną wczytane wszystkie kolumny. Jeżeli jest ustawione na przykład filecols:0,1,3,8;, wtedy zostaną wczytane wyłącznie kolumny określone indeksem w parametrze (indeksowane od 0). datatypes - Lista typów danych kolumn w wyjściowej macierzy wartości. Typ danych kolumny określa sposób wczytania wartości z odpowiedniej kolumny pliku CSV. Podstawowe typy danych kolumn oraz ich kolejność musi odpowiadać wyjściowej macierzy wartości. To znaczy, że lista musi zawierać tyle pozycji, ile kolumn posiada wyjściowa macierz wartości. Kolumny w źrodłowym pliku CSV mogą być różne od wyjsćiowej macierzy wartości, jeżeli zostanie zastosowana filtracja kolumn za pomocą filecols. Dopuszczalnymi nazwami typów danych: string, byte, integer, bool, single, double. Na przykład datatypes:string,integer,bool,single; Jeżeli nie jest ustawione, wtedy jest string. |
sParams | (String) Określa sposób wczytania danych z pliku.. Na przykład "fileselect:yes;colnameheader:yes;delimiter:comma;" "fileselect:xxx;" (opcjonalne) yes - przez wywołanie metody jest wywołany dialog do wyboru pliku na dysku niezależnie od ustawienia parametru sFile. no (domyślnie) "colnameheader:xxx;" (opcjonalne) yes - w pierwszej linii pliku nie znajdują się dane lecz nazwy poszczególnych kolumn. no (domyślnie) - w pierwszej linii pliku są zapisane dane. "swap:xxx;" (opcjonalne) yes (domyślnie) - kolumny pliku są zapisane jako wiersze w macierzy wynikowej (w komórce data(i,j) jest wartość i-kolumny i j-linii pliku). no - wiersze pliku są zapisane jako wiersze w macierzy wynikowej (w komórce data(i,j) jest wartość i-linii i j-kolumny pliku). "delimiter:xxx;" (opcjonalne) - (tylko dla CSV) Separator wartości w pliku CSV. Zezwolone wartości to: semicolon (domyślnie) - separatorem jest średnik. comma - separatorem jest przecinek. space - separatorem jest spacja. tab - separatorem jest tabelator. number - tzn. separator jest określony numerem dziesiątkowym znaku ASCII, na przykład "delimiter:124;" oznacza separator "|" (kreska pionowa). "lastcolsep:xxx;" (opcjonalne) yes - Przy zapisie jest dodany separator za ostatnią wartość na wierszu, przy wczytaniu pusta wartość na końcu każdego wiersza jest pomijana. Z punktu widzenia pliku CSV taka funkcjonalność nie jest poprawną. no (domyślnie) - Separatory są tylko pomiędzy wartościami w wierszu, nie są na końcu wiersza. Z punktu widzenia pliku CSV taka funkcjonalność jest poprawną. |
Dim vData
vData = Pm.FileCsvRead("#app:data.csv", "filecols:all;", "delimiter:semicolon;colnameheader:no;fileselect:yes;")
If Pm.IsValid(vData) Then
'... Jeżeli dnae zostały wczytane bezbłędnie
End If
Dim sParams, vData
sParams = "delimiter:semicolon;colnameheader:no;"
vData = Pm.FileCsvRead("#app:data.csv", "filecols:0,3,1;datatypes:string,string,double;", sParams)
If Pm.IsValid(vData) Then
'... Jeżeli dnae zostały wczytane bezbłędnie
End If