Python xlswriter, ganze Spalten ausbelnden

Gast #5334892
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?
Gast #5337108
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.