Verbundene Zeilen in Excel
Verfasst: Freitag 10. Mai 2019, 20:26
hallo
ich beschäftige mich grad mit dem auslesen einer excel-datei:
dabei speicher ich jede spalte in ein dict mit dem problem, daß die verbundenen Zellen für Adresse nur einmal erkannt werden
ich hätte aber gern, daß zusammengefügte zellen auch als solche erkannt werden.
heißt, "Adresse" soll auch in allen anderen spalten stehen.
ich habe schon im netz gelesen, daß das mit formatting_info=True oder formatting_info=1 geht.
leider funktioniert dieser befehl nicht mit xlsx-dateien (nur mit xls-dateien).
ich habe jetzt meine xlsx in xls umgewandelt und es nicht zum laufen gebracht.
kann mir da jemand helfen?
mein code:
ich beschäftige mich grad mit dem auslesen einer excel-datei:
Code: Alles auswählen
ID Adresse
Vorname Nachname Straße Hausnummer PLZ Wohnort
1 Vorname 1 Nachname 1 Straße 1 Hausnummer 1 PLZ 1 Wohnort 1
2 Vorname 2 Nachname 2 Straße 2 Hausnummer 2 PLZ 2 Wohnort 2
3 Vorname 3 Nachname 3 Straße 3 Hausnummer 3 PLZ 3 Wohnort 3

Code: Alles auswählen
Tabelle1 (Sheet-Name)
ID ['ID', '', 1.0, 2.0, 3.0]
Vorname ['Adresse', 'Vorname', 'Vorname 1', 'Vorname 2', 'Vorname 3']
Nachname ['', 'Nachname', 'Nachname 1', 'Nachname 2', 'Nachname 3']
Straße ['', 'Straße', 'Straße 1', 'Straße 2', 'Straße 3']
Hausnummer ['', 'Hausnummer', 'Hausnummer 1', 'Hausnummer 2', 'Hausnummer 3']
PLZ ['', 'PLZ', 'PLZ 1', 'PLZ 2', 'PLZ 3']
Wohnort ['', 'Wohnort', 'Wohnort 1', 'Wohnort 2', 'Wohnort 3']
heißt, "Adresse" soll auch in allen anderen spalten stehen.
Code: Alles auswählen
Tabelle1 (Sheet-Name)
ID ['ID', '', 1.0, 2.0, 3.0]
Vorname ['Adresse', 'Vorname', 'Vorname 1', 'Vorname 2', 'Vorname 3']
Nachname ['Adresse', 'Nachname', 'Nachname 1', 'Nachname 2', 'Nachname 3']
Straße ['Adresse', 'Straße', 'Straße 1', 'Straße 2', 'Straße 3']
Hausnummer ['Adresse', 'Hausnummer', 'Hausnummer 1', 'Hausnummer 2', 'Hausnummer 3']
PLZ ['Adresse', 'PLZ', 'PLZ 1', 'PLZ 2', 'PLZ 3']
Wohnort ['Adresse', 'Wohnort', 'Wohnort 1', 'Wohnort 2', 'Wohnort 3']
leider funktioniert dieser befehl nicht mit xlsx-dateien (nur mit xls-dateien).
ich habe jetzt meine xlsx in xls umgewandelt und es nicht zum laufen gebracht.
kann mir da jemand helfen?
mein code:
Code: Alles auswählen
from os.path import expanduser
import os
import xlrd
if __name__ == '__main__':
input_foldername = "Dateiimport"
input_folder = os.path.join(expanduser("~"), "Desktop", input_foldername)
input_filename = "Input_Testfile.xlsx"
output_filename = "Output_Testfile.xlsx"
input_path = os.path.join(input_folder, input_filename)
output_path = os.path.join(input_folder, output_filename)
sheet_name = 'Tabelle1'
wb = xlrd.open_workbook(input_path)
dict = {}
for sheet in wb.sheets():
if sheet.name == sheet_name:
print(sheet.name)
for col in range(sheet.ncols):
zeile_0 = sheet.cell(0, col).value
zeile_1 = sheet.cell(1, col).value
if zeile_0 == "ID":
data = [sheet.cell_value(row, col) for row in range(sheet.nrows)]
dict[zeile_0] = data
elif zeile_1 == "Vorname":
data = [sheet.cell_value(row, col) for row in range(sheet.nrows)]
dict[zeile_1] = data
elif zeile_1 == "Nachname":
data = [sheet.cell_value(row, col) for row in range(sheet.nrows)]
dict[zeile_1] = data
elif zeile_1 == "Straße":
data = [sheet.cell_value(row, col) for row in range(sheet.nrows)]
dict[zeile_1] = data
elif zeile_1 == "Hausnummer":
data = [sheet.cell_value(row, col) for row in range(sheet.nrows)]
dict[zeile_1] = data
elif zeile_1 == "PLZ":
data = [sheet.cell_value(row, col) for row in range(sheet.nrows)]
dict[zeile_1] = data
elif zeile_1 == "Wohnort":
data = [sheet.cell_value(row, col) for row in range(sheet.nrows)]
dict[zeile_1] = data
for key, item in dict.items():
print(key, item)