Einlesesen der CSV-Datei mit Modul CSV
This commit is contained in:
		
							parent
							
								
									1cfcc38f08
								
							
						
					
					
						commit
						ce2889991a
					
				| @ -10,13 +10,14 @@ Um die Daten an Telegram zu senden, musst du dir ein Skript/Programm schreiben, | ||||
| von Telegram verwendet und Daten an dich oder deine Gruppe senden kann! | ||||
| 
 | ||||
| Beispiel für eine Konfigurationsdatei: | ||||
| tgReceiver: <hier die ID der Gruppe/ des Teilnhemers eintragen> | ||||
| tgReceiver: <hier die ID der Gruppe/ des Teilnehmers eintragen> | ||||
| kommune: 2601 | ||||
| strasse: 2146 | ||||
| pathBot: '~/bin/YMBot' | ||||
| tgBotOwner: <hier DEINE Telegram-ID eintragen> | ||||
| ''' | ||||
| 
 | ||||
| import csv | ||||
| import re | ||||
| import requests | ||||
| import httplib2 | ||||
| @ -28,7 +29,7 @@ from pathlib import Path | ||||
| 
 | ||||
| # Funktionen | ||||
| def get_index_positions(list_of_elems, element): | ||||
|     ''' Returns the indexes of all occurrences of give element in | ||||
|     ''' Returns the indexes of all occurrences of given element in | ||||
|     the list- listOfElements ''' | ||||
|     index_pos_list = [] | ||||
|     for i in range(len(list_of_elems)): | ||||
| @ -53,7 +54,7 @@ def init(key, modus, host, headers): | ||||
|     url = f'https://{host}/?key={key}&modus={modus}&waction=init' | ||||
|     http = httplib2.Http() | ||||
|     (resp, content) = http.request(url, "POST", headers = headers, body = urllib.parse.urlencode(postdata)) | ||||
|     # print(content) | ||||
| 
 | ||||
|     result = re.findall(r"<input .*?name=.*? value=.*?/>", str(content)) | ||||
| 
 | ||||
|     datum = result[1].split(' ') | ||||
| @ -74,9 +75,17 @@ def read_file(jahr): | ||||
| 	 | ||||
| 	antwort_liste = None | ||||
| 	try: | ||||
| 		f = open(f'muell{jahr}.csv', 'rb') | ||||
| 		antwort = str(f.read()) | ||||
| 		antwort_liste = antwort[antwort.find('Biom'):].strip("'").replace('\\n', '\n').split('\n') | ||||
| 		with open(f'muell{jahr}.csv', 'r', encoding="latin1") as f: | ||||
| 			csv_reader = csv.reader(f, delimiter=';') | ||||
| 			lines = 0 | ||||
| 			antwort_liste = [] | ||||
| 			for row in csv_reader: | ||||
| 				if lines == 0: | ||||
| 					# print(f'Column names are {", ".join(row)}') | ||||
| 					lines += 1 | ||||
| 				else: | ||||
| 					if isinstance(row, list): | ||||
| 						antwort_liste.extend(row) | ||||
| 	except FileNotFoundError: | ||||
| 		pass | ||||
| 
 | ||||
| @ -119,8 +128,9 @@ muell_arten = [ | ||||
|     'Schadstoffmobil', | ||||
| ] | ||||
| 
 | ||||
| # __main__ | ||||
| if __name__ == '__main__': | ||||
| 	antwort_liste = read_file(current_year) | ||||
| 
 | ||||
| 	if antwort_liste == None: | ||||
| 		# Keine vernünftigen Daten, ergo mal gucken, was die Webseite ergibt | ||||
| 		config = readConfig() | ||||
| @ -138,12 +148,12 @@ if antwort_liste == None: | ||||
| 		f = open(f'muell{current_year}.csv', 'wb') | ||||
| 		f.write(content) | ||||
| 		f.close() | ||||
| 	antwort_liste = antwort[antwort.find('Biom'):].strip("'").replace('\\n', '\n').split('\n') | ||||
| 		antwort_liste = read_file(current_year) | ||||
| 
 | ||||
| 	daten = set(antwort_liste) | ||||
| 
 | ||||
| for datum in daten: | ||||
| 	# TODO: Leider weiss ich ab hier nur, dass Müll abgeholt wird, leider nicht, welcher :-/ | ||||
| 	tomorrow = (datetime.now() + timedelta(1)).strftime('%d.%m.%Y') | ||||
| 	for datum in daten: | ||||
| 		datum = datum.split(';') | ||||
| 		l_muell = get_index_positions(datum, tomorrow) | ||||
| 		if len(l_muell) > 0: | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user