Ich bin neu in der Programmierung, lehre mich Python3. Frau bat mich, ihr ein Skript zu machen, das Daten von Excel aus einer Spalte liest und jede zweite Zeile in eine andere Spalte kopiert. Sie hat eine Excel von 12k Zeilen und es ist in Form von: row1 = string, row2 = (int/float/Datum/Uhrzeit), row3 = string, row4 = (int/Float/Datum/Uhrzeit) ...Python 3 kopieren Daten wie mit xlrd und xlwt
was ich getan habe, ist dies:
import xlrd
import xlwt
workbook = xlrd.open_workbook("MyExcel.xls")
sheet = workbook.sheet_by_index(0)
wb = xlwt.Workbook()
ws = wb.add_sheet("Sheet1")
i = 0
data = []
for i in range(sheet.nrows):
if i % 2 == 0:
value = sheet.cell(i, 0).value
data.append(value)
j = 0
for j in range(len(data)):
ws.write(j, 0, data[j])
j += 1
wb.save("MyOutput.xls")
es funktioniert gut, aber das Problem ist, dass es mit Streichern und ganzen Zahlen, nicht mit Daten oder Zeit, wandelt diese in Schwimmern gut funktioniert. Ich brauche es nur, um den Wert jeder Zelle zu kopieren "wie es ist" keine Formatierung oder irgendetwas, einfach kopieren einfügen. Wenn eine Zelle einen Wert von "affe/73.0: blah" hat, möchte ich nur, dass sie es als "affe/73.0: blah" in das neue Excel kopiert.
Irgendeine Idee, wie man das erreicht?
ps: Ich weiß, dass es innerhalb von Excel selbst ohne Python (mit INDEX und ROWS) erreicht werden kann, aber ich bin neugierig, wie Sie Daten auf diese Weise als normale Kopie einfügen, ohne sie zum Beispiel zu teilen meine Daten in einen Float wenn sein 1/1/2016.
Thx