Python openpyxl schreiben Liste zu Excel-Fehler

Ich bin neu in Python und die Arbeit an meinem ersten Projekt. Ich bin versucht mein code zum kopieren von Spalten von Daten aus einer Tabelle aus und hängen Sie an die Daten, die derzeit in einem master-Blatt. Ich bin in der Lage zu erfassen, die Daten in jedem Blatt und erstellen Sie eine neue master-Liste, die kombiniert beide Daten-sets, aber ich habe Probleme beim schreiben in eine Datei. Wenn ich testen drucken Sie die kombinierte Listen Sie richtig angezeigt, aber wenn ich den code zum schreiben der Listen in eine Datei, es wird aufgehängt.

Jede Hilfe Sie bereitstellen können, werden sehr hilfreich sein!

Unten ist mein code. Hier ist der Fehler, ich bin immer

Traceback (most recent call last):
Datei "/Path/Path/Path/extractData.py", line 50, in
destSheet.Zelle(row=rowNum, column=1).Wert = masterList1

Datei "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/openpyxl/cell/cell.py", line 313, in Wert
selbst._bind_value(Wert)

Datei "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/openpyxl/cell/cell.py", line 217, in _bind_value
raise ValueError("Cannot convert {0} zu Excel".format(value))

ValueError: Cannot convert ['Rückversicherer', 'Markt 1', 'Markt 2', 'Markt 3', 'Markt 4', 'Markt 5', 'Markt 1', 'Markt 2', 'Markt 3', 'Markt 4', 'Markt 5', ['Markt 1', 'Markt 2', 'Markt 3', 'Markt 4', 'Markt 5']] Excel

import openpyxl

#Open source data file
sourceFile = openpyxl.load_workbook('/Path/Path/Path/testAuth.xlsx')
sourceSheet = sourceFile.get_sheet_by_name('Sheet1')

#read data from source file and create lists of new data
newList1 = []
newList2 = []
newList3 = []

for row in range(2, sourceSheet.get_highest_row()):
    data1 = sourceSheet['A' + str(row)].value
    newList1.append(data1)
    data2 = sourceSheet['B' + str(row)].value
    newList2.append(data2)
    data3 = sourceSheet['C' + str(row)].value
    newList3.append(data3)

#open destination workbook that includes the master database
destFile = openpyxl.load_workbook('/Path/Path/Path/testHist.xlsx')
destSheet = destFile.get_sheet_by_name('Sheet1')

#create empty lists for copying the historical data already in the workbook
masterList1 = []
masterList2 = []
masterList3 = []

#grab master spreadsheet data and write to list
for row in range(1, destSheet.get_highest_row()+1):
    masterData1 = destSheet['A'+ str(row)].value
    masterList1.append(masterData1)
    masterData2 = destSheet['B'+ str(row)].value
    masterList2.append(masterData2)
    masterData3 = destSheet['C'+ str(row)].value
    masterList3.append(masterData3)

#append new data to the history list
masterList1.append(newList1)
masterList2.append(newList2)
masterList3.append(newList3)

#write new master list to a new file
for rowNum in range(2, len(masterList1)):
    destSheet.cell(row=rowNum, column=1).value = masterList1

destSheet.save("updatedTest.xlsx")
InformationsquelleAutor R Fuller | 2015-07-06
Schreibe einen Kommentar