Python / pypyODBC: Zeileneinfügung mit String und NULL

Ich bin ziemlich neu in Python und habe bis zu diesem aktuellen Projekt nicht wirklich mit SQL Server und XML-Parsing interagiert (möglicherweise nicht einmal der beste Ansatz). Um es kurz zu machen, mein IT-Team ist sehr überlastet und ich muss Daten in eine Sandbox-Tabelle übertragen (aus einem XML-Code analysiert).

Es gibt ein XML-Segment, das die Attribute [xx] 001 bis [xx] 025 enthält. Nicht alle dieser Attribute sind für jedes XML enthalten, das analysiert werden soll. Daher durchlaufe ich eine Schleife mit allen möglichen Attributen und hänge die Ergebnisse an eine Liste an. Da nicht alle Attribute in jedem XML enthalten sind, kann ich noneTypes verursachen, indem ich versuche, jedes einzelne darzustellen. Kein Problem, bis ich meine SQL-Einfügeanweisung dort erstellen kann, wo ich sie in NULL-Werte konvertieren muss. Es gibt wahrscheinlich eine sehr einfache Möglichkeit, damit umzugehen, aber mein Neuling-Status behindert meinen Fortschritt. Relevante Teile des Codes folgen ...

Vielleicht gibt es einen besseren Weg, um es im Allgemeinen zu tun? Ich mache mir Sorgen, dass sqlList möglicherweise nur so groß wird, bevor ich auch an ein Limit stoße.

#this list contains Nones
sqlList = (", ".join(map(repr,appendedList)))

#the Nones are an issue when I get to here
curs.execute("USE Sandbox INSERT INTO myTable VALUES (%s)" % (sqlList))
curs.commit()

Hier ist ein Beispiel, wie sqlList aussieht:

'20_2014', '20_2014_3/25/2015 2:01 PM', 'FBR', 'A', '0', '0', '3', '1', '134', None, None, '0', None, '0', '0', '0', '0', '0', None, None, '2', None, None, None, None

Ich erhalte die folgende Fehlermeldung:

pypyodbc.ProgrammingError: ('42S22', "[42S22] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'None'.")

Antworten auf die Frage(4)

Ihre Antwort auf die Frage