Forum: PC-Programmierung Python xlswriter, ganze Spalten ausbelnden


von Patrycia (Gast)


Lesenswert?

Hallo,

erstmal meine Grundwerte, ich arbeite mit Python 3.5.1. auf Windows 10

Ich versuche gerade mit Python zurechtzukommen. Vom Grundsatz möchte ich 
folgendes machen. Ich importiere in Python eine Liste von ID´s. Diese 
Liste sollen nacheinander über eine MySQL Query geprüft werden und 
anschließend jedes Ergebnis der ID`s zeilenweise in einer Exceliste 
gespeichert werden.

soweit so gut, bis hier klappt das. Jetzt kommt das aber.

In manchen fällen möchte ich garnicht alle Ergebnisse bekommen. (klar 
könnte ich später in excel mit der Hand löschen)

Daher möchte ich jetzt dem Programm sagen das er einen wert nicht in die 
Excel schreiben soll.

[c]
import os
import xlsxwriter


xls_pfad = os.path.expandvars('newfile.xls')

workbook_overview = xlsxwriter.Workbook(xls_pfad)
worksheet_overview = workbook_overview.add_worksheet("results")

count = 2
column =0

ausblenden_B = 0

worksheet_overview.write(0, 0, 'Spalte A')
column += 1



if ausblenden_B == 0:
    print ('ausblenden')

else:
    print('spalte B fehlt nun')
    worksheet_overview.write(0, column, 'Spalte B')
    column += 1


worksheet_overview.write(0, column, 'Spalte C')
column += 1

worksheet_overview.write(0, column, 'Spalte D')
column += 1




## Hier zwischen ist eine MySQL Verbindung und verarbeitet Daten die 
später Zeilenweise dazugeschrieben werden sollen. Für jeden request 
einen neue zeile, das Programm startet immer wieder von vorne bis alle 
requests abgearbeitet sind




worksheet_overview.write('A' + str(count), 'abc')

if ausblenden_B == 0:
    print ('ausblenden')

else:
    print('nicht ausblenden')
    worksheet_overview.write('B' + str(count), '123')


worksheet_overview.write('C' + str(count), 'DEF')
worksheet_overview.write('D' + str(count), '456GHI')

count += 1

workbook_overview.close()
[c]


Das nicht anlege der Überschrift, das klappt. Aber wie bekomme ich das 
hin das später beim befüllen die Spalte die nicht "angelegt wurde" 
übersprungen wird?

von imonbln (Gast)


Lesenswert?

Patrycia schrieb:
> Das nicht anlege der Überschrift, das klappt. Aber wie bekomme ich das
> hin das später beim befüllen die Spalte die nicht "angelegt wurde"
> übersprungen wird?

Ich fürchte das deine paar Brocken Python die du da Gepostet hast nicht 
wirklich helfen dein Problem zu erkennen. Daher finde ich es echt schwer 
dir zu helfen, vielleicht schreibst du uns mal ein minimal Lauffähiges 
Programm, das deine Problem hat, dann wird es viel leichter dir eine 
Lösung zu unterbreiten.

Irgendwo in deinen Programm wird eine Schleife sein, diese wird über die 
Importierten ID iterieren, und eine SQL Abfrage zu den ID's machen.

In der Schleife musst du eine IF abfrage einbauen um zu Prüfen ob du das 
Ergebnis der SQL-Abfrage in dein Execl übernehmen willst, wenn das nicht 
der Fall ist musst du den Teil des Schreibens in das Excel Einfach 
überspringen.
Aber weil Du uns den Teil vorenthalten hast, ist es schwer dir mehr als 
diesen allgemeinen Tipp zu geben.

Vielleicht hilft dir das Folgende 
https://docs.python.org/3.6/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops 
gerade das continue, könnte in deinen Fall hilfreich sein.
Aber ohne den Code zu kennen ist das ein ziemliches Kaffeesatz lesen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.