Mijn vraag
Momenteel ben ik bezig met het maken van een script om Excel-bestanden uit te lezen.
Enige vereiste zijn openpyxl, de module die ik gebruik om Excel-bestanden uit te lezen.
Voorbeeld:
:fill(white):strip_exif()/f/image/d8k4DtJhneh3T9rQZ3eTIwAL.png?f=user_large)
De gebruiker wordt gevraagd om een excel-bestand en sheet door te geven, waarbij na elke invoer een check wordt gedaan of deze bestaat.
Ik loop er tegen aan dat Openpyxl niet goed het tabblad selecteert. Hij verifieert weliswaar of het bestand bestaat, maar lijkt vervolgens een willekeurig tabblad te selecteren.
Onderstaand de code. De rest van mijn script heb ik eruit gesloopt zodat alleen de basis blijft staan, waar eveneens de fout in voorkomt.
Relevante software en hardware die ik gebruik
Python 3.8.2
Openpyxl
Wat ik al gevonden of geprobeerd heb
Heb ongeveer 1.000 regels code doorlopen voordat ik erachter kwam dat het fout ging bij bovenstaande invulmoment. Toen dit los getrokken uit de code en het blijkt in dit kleine stukje code fout te gaan.
Enige wat ik nog niet geprobeerd heb is om het script op een andere machine te testen maar heb wel meerdere Excel-bestanden geprobeerd.
Alvast bedankt voor het meedenken!
Momenteel ben ik bezig met het maken van een script om Excel-bestanden uit te lezen.
Enige vereiste zijn openpyxl, de module die ik gebruik om Excel-bestanden uit te lezen.
Voorbeeld:
- Excel-bestand: Book
- Aantal tabbladen: 4
- Invoer gebruiker bij input excelFile: Book
- Invoer gebruiker bij input excelSheetName: Sheet2
:fill(white):strip_exif()/f/image/d8k4DtJhneh3T9rQZ3eTIwAL.png?f=user_large)
De gebruiker wordt gevraagd om een excel-bestand en sheet door te geven, waarbij na elke invoer een check wordt gedaan of deze bestaat.
Ik loop er tegen aan dat Openpyxl niet goed het tabblad selecteert. Hij verifieert weliswaar of het bestand bestaat, maar lijkt vervolgens een willekeurig tabblad te selecteren.
Onderstaand de code. De rest van mijn script heb ik eruit gesloopt zodat alleen de basis blijft staan, waar eveneens de fout in voorkomt.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| from openpyxl import * # Voor het openen van Excel-bestanden import sys excelFile = input("Excel-file (without .xlsx): ") try: if excelFile == "": print("\nNo workbook specified!") sys.exit() else: excelWorkbook = load_workbook(excelFile + ".xlsx") print("\nWorkbook found!") except: print("\nInvalid filename. Please check if the file is present in the folder of where this script is running from.") sys.exit() try: if excelFile == "": print("") if excelFile != "": excelSheetName = input("\nSheetname: ") print(excelSheetName) # Test printje om te kijken of ik niet gek ben :) if excelSheetName in excelWorkbook: excelSheet = excelWorkbook.active print(excelSheet) print("\nWorkbook loaded succesfully!") else: sys.exit() except: print("\nSheet " + excelSheetName + " not present in file " + excelFile) sys.exit() |
Relevante software en hardware die ik gebruik
Python 3.8.2
Openpyxl
Wat ik al gevonden of geprobeerd heb
Heb ongeveer 1.000 regels code doorlopen voordat ik erachter kwam dat het fout ging bij bovenstaande invulmoment. Toen dit los getrokken uit de code en het blijkt in dit kleine stukje code fout te gaan.
Enige wat ik nog niet geprobeerd heb is om het script op een andere machine te testen maar heb wel meerdere Excel-bestanden geprobeerd.
Alvast bedankt voor het meedenken!
[ Voor 4% gewijzigd door D3F op 07-08-2020 17:30 ]