ID tematu: 70326
 |
PowerQuery - jak wczytać dane z sieci zapisane w pliku zip? |
Autor |
Wiadomość |
JerzyB
Starszy Forumowicz

Wersja: Win Office 2016
Pomógł: 2 razy Posty: 31
|
Wysłany: 04-03-2021, 14:39 PowerQuery - jak wczytać dane z sieci zapisane w pliku zip?
|
|
|
Kochani, męczę się z takim zadaniem:
otóż w sieci pod adresem
IMGW
są interesujące mnie dane o opadach w konkretnym roku, tu akurat w 2020. Plik jest skompresowany jako ZIP. Próbuję go wczytać za pomocą PQuery i ni w ząb nie mogę się do niego dostać. Czy jest to w ogóle możliwe, żeby przez zapytanie PQ zautomatyzować wczytywanie takiego pliku dla poszczególnych lat bezpośrednio z tej strony www? Czy niestety - muszę go sobie najpierw zapisać na kompie jako plik tekstowy i dopiero stąd wczytywać do Excela? Tak do tej pory robiłem, ale miałem nadzieję, że PQ pozwoli mi to zautomatyzować i uprościć. Jest na to rada?
Do tej pory jedyne co uzyskałem, to to, co widać w załączonym pliku. Wygląda żałośnie, prawda?
Excel_PQuery_opady.xlsx
|
Pobierz Plik ściągnięto 11 raz(y) 17.16 KB |
|
_________________ Pozdrawiam,
Jerzy B. |
|
 | ID posta:
401458
|
|
|
 |
|
|
|
xfish
Excel Expert


Wersja: Win Office 2013
Pomógł: 470 razy Posty: 1456
|
Wysłany: 04-03-2021, 15:16
|
|
|
Z tego co znalazłem w necie to raczej nie ma możliwości bezpośrednio z netu.
Trzeba najpierw plik zapisać wtedy można się do niego dostać za pomocą PQ |
_________________ Pozdrawiam
xFish |
|
 | ID posta:
401460
|
|
|
 |
|
|
JerzyB
Starszy Forumowicz

Wersja: Win Office 2016
Pomógł: 2 razy Posty: 31
|
Wysłany: 04-03-2021, 15:38
|
|
|
Dzięki i za tą informację, aczkolwiek trochę mnie dziwi, że Wielki Microsoft jak do tej pory nie poradził sobie z tym zadaniem . Przecież pliki skompresowane, zwłaszcza w tak popularnym formacie jak ZIP, są często spotykane, także w necie i aż dziwne, że spece z MS nie zajęli się jeszcze tym problemem. Myślę, że dla nich nie byłoby niczym trudnym dobrać się do takich plików.
Może w kolejnych wersjach Excela i PQ?
Pzdr. |
_________________ Pozdrawiam,
Jerzy B. |
|
 | ID posta:
401463
|
|
|
 |
|
|
DwaNiedźwiedzie
Excel Expert


Wersja: Win Office 2016
Pomógł: 284 razy Posty: 703
|
Wysłany: 04-03-2021, 16:01
|
|
|
Jak się nie da, jak się da :)
Kod: | let
ZIPFile = Web.Contents("https://danepubliczne.imgw.pl/data/dane_pomiarowo_obserwacyjne/dane_meteorologiczne/miesieczne/synop/2020/2020_m_s.zip"),
MyBinaryFormat = BinaryFormat.Record([MiscHeader=BinaryFormat.Binary(18), FileSize=BinaryFormat.ByteOrder(BinaryFormat.UnsignedInteger32, ByteOrder.LittleEndian), UnCompressedFileSize=BinaryFormat.Binary(4), FileNameLen=BinaryFormat.ByteOrder(BinaryFormat.UnsignedInteger16, ByteOrder.LittleEndian)]),
MyCompressedFileSize = MyBinaryFormat(ZIPFile)[FileSize] + 1,
MyFileNameLen = MyBinaryFormat(ZIPFile)[FileNameLen],
MyBinaryFormat2 = BinaryFormat.Record([Header=BinaryFormat.Binary(30), Filename=BinaryFormat.Text(MyFileNameLen), Data=BinaryFormat.Binary(MyCompressedFileSize)]),
GetDataToDecompress = MyBinaryFormat2(ZIPFile)[Data],
DecompressData = Binary.Decompress(GetDataToDecompress, Compression.Deflate),
#"Zaimportowano plik CSV" = Csv.Document(DecompressData,[Delimiter=",", Columns=60, Encoding=1250, QuoteStyle=QuoteStyle.None])
in
#"Zaimportowano plik CSV" |
PS: Samo rozpakowanie to nieco przycięty kod znaleziony gdzieś w sieci i nie mam pojęcia, jak to działa - ale działa :) |
|
 | ID posta:
401464
|
|
|
 |
|
|
JerzyB
Starszy Forumowicz

Wersja: Win Office 2016
Pomógł: 2 razy Posty: 31
|
Wysłany: 05-03-2021, 09:23
|
|
|
DwaNiedźwiedzie napisał/a: | Jak się nie da, jak się da :) |
Fajnie, ale znaczy, że bez VBA "ani rusz"? Brrr... Ostatnie makro w VBA napisałem jakieś 13 lat temu i nie chciałbym zaczynać od nowa... |
_________________ Pozdrawiam,
Jerzy B. |
|
 | ID posta:
401506
|
|
|
 |
|
|
Marecki
Excel Expert


Wersja: Win Office 2019
Pomógł: 2521 razy Posty: 8406
|
Wysłany: 05-03-2021, 16:03
|
|
|
JerzyB napisał/a: | Fajnie, ale znaczy, że bez VBA "ani rusz"? | A gdzie tam masz VBA ?
To jest język "M", wykorzystywany w Power Query.
Wystarczy że skopiujesz to co zapodał kolega DwaNiedźwiedzie, i wkleisz w miejsce swojego zapytania. |
_________________ Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.
Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki. |
|
 | ID posta:
401536
|
|
|
 |
|
|
JerzyB
Starszy Forumowicz

Wersja: Win Office 2016
Pomógł: 2 razy Posty: 31
|
Wysłany: 05-03-2021, 18:23
|
|
|
O kurcze pieczone... sorki, ale musisz bardziej łopatologicznie: co to znaczy Marecki napisał/a: | Wystarczy że skopiujesz to co zapodał kolega DwaNiedźwiedzie, i wkleisz w miejsce swojego zapytania. |
To znaczy w które miejsce? "Zapytanie - Edytuj - Edytor zaawansowany"? Czy jeszcze gdzie indziej? Przykro mi, ale dopiero zaczynam zabawę z PQuery, więc rozumiesz, że mogę być... ten... tego... niekumaty? |
_________________ Pozdrawiam,
Jerzy B. |
|
 | ID posta:
401548
|
|
|
 |
|
|
Marecki
Excel Expert


Wersja: Win Office 2019
Pomógł: 2521 razy Posty: 8406
|
Wysłany: 05-03-2021, 18:39
|
|
|
JerzyB napisał/a: | "Zapytanie - Edytuj - Edytor zaawansowany"? | Tak, dokładnie tam.
Kasujesz wszystko, wklejasz kod Niedźwiadka, zapisujesz i tyle. |
_________________ Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.
Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki. |
|
 | ID posta:
401549
|
|
|
 |
|
|
JerzyB
Starszy Forumowicz

Wersja: Win Office 2016
Pomógł: 2 razy Posty: 31
|
Wysłany: 20-03-2021, 13:34
|
|
|
To jeszcze pociągnę temat i zadam pytanie za STO TYSIĘCY POZDROWIEŃ (wirtualnych, ma się rozumieć ): czy w ten sposób da się wczytać do Excela plik w formacie XML? Czy jednak trzeba mieć dedykowane oprogramowanie do takich plików? |
_________________ Pozdrawiam,
Jerzy B. |
|
 | ID posta:
402410
|
|
|
 |
|
|
caelian
ExcelGaduła 500+

Wersja: Win Office 365
Pomógł: 61 razy Posty: 563
|
Wysłany: 20-03-2021, 14:40
|
|
|
Data -> Get data -> from file
2021-03-20 143952.png
|
 |
Plik ściągnięto 1 raz(y) 64.48 KB |
|
|
 | ID posta:
402415
|
|
|
 |
|
|
JerzyB
Starszy Forumowicz

Wersja: Win Office 2016
Pomógł: 2 razy Posty: 31
|
Wysłany: 21-03-2021, 10:48
|
|
|
Senk Ju! |
_________________ Pozdrawiam,
Jerzy B. |
|
 | ID posta:
402441
|
|
|
 |
|
|
|
Nie możesz pisać 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 głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
 |
Strona używa plików cookies.
Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe
|