Skip to content

Instantly share code, notes, and snippets.

@pjastr
Last active April 18, 2019 11:04
Show Gist options
  • Save pjastr/582ac05a200faf31a6ca72ae8420166a to your computer and use it in GitHub Desktop.
Save pjastr/582ac05a200faf31a6ca72ae8420166a to your computer and use it in GitHub Desktop.

Operacje na plikach + NumPy - cd.

  1. Zapoznaj się z dokumentacją dotyczącą zapisu i odczytu plików https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files

  2. Za pomocą explorera plików i notatnika stwórz plik tekstowy tekst1.txt w tym samym folderze co projekt, wpisz do pliku dowolny tekst. Następnie za pomocą instrukcji open i różnych parametrów sprawdź różne tryby otwarcie plików.

Przykładowy kod:

f = open('tekst1.txt', 'r+')
s= f.read()
print(s)
print(type(s))

Następnie ustaw breakpointa na trzeciej linijce w powyższym przykładzie i spróbuj zmodyfikować i zapisać zmienioną zawartość pliku tekstowego przez notatnik.

Napaw sytuację wywołując metodę close. Ew. zmień kod na taki z użyciem with.

Spróbuj dodać dodać polskie znaki do pliku tesktowego i dodaj parametr encoding do funkcji open (poćwicz różne wersje kodowania).

Na koniec spróbuj zapisać coś nowego do pliku. Sprawdź w jakim trybie otwarcia plików jest to możliwe.

  1. (haa,py) Pobierz plik z cenami jaj w Polsce w wybranych sieciach (źródło danych: http://www.dlahandlu.pl/koszyk/towar/10-jaj-najtansze,38.html) - http://wmii.uwm.edu.pl/~piojas/wp-content/uploads/2019/04/jajka1.csv . Zapisz plik w folderze projektu. Załaduj go do środowiska np. poniższą komendą:
data = np.genfromtxt('jajka1.csv', delimiter=";", dtype=('|U16'))

Następnie przetwórz dane abyś mógł wykonać operacje:

  • obliczyć średnią cenę wszystkich jaj.
  • wyznaczyć w którym mieście i w jakiej sieci są najtańsze a w jakich najdroższe jajka. Wynik zapisz w postaci dwuwymiarowej tablicy przechowującej pary (Miasto, nazwa sieci).

Wszystkie operacje wykonaj używając funkcji wbudowanych w interpretator lub biblioteki NumPy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment