2013-05-15 243 views

Antwort

36

Hier sind einige Optionen zur Auswahl:

  • xlwt (Schreiben xls-Dateien)
  • xlrd (Lesen xls/xlsx-Dateien)
  • openpyxl (Lesen/Schreiben von XLSX-Dateien)
  • xlsxwriter (Schreiben xlsx Dateien)

Wenn Sie kopieren müssen Nur Daten (ohne Formatierungsinformationen), Sie können einfach eine beliebige Kombination dieser Werkzeuge zum Lesen/Schreiben verwenden. Wenn Sie eine xls Datei haben, sollten Sie mit xlrd + xlwt Option gehen.

Hier ist ein einfaches Beispiel die erste Zeile aus der bestehenden Excel-Datei in den neuen kopieren:

import xlwt 
import xlrd 

workbook = xlrd.open_workbook('input.xls') 
sheet = workbook.sheet_by_index(0) 

data = [sheet.cell_value(0, col) for col in range(sheet.ncols)] 

workbook = xlwt.Workbook() 
sheet = workbook.add_sheet('test') 

for index, value in enumerate(data): 
    sheet.write(0, index, value) 

workbook.save('output.xls') 
+0

Hallo, könnten Sie mir bitte sagen, wie eine Spalte anstelle einer Zeile kopieren? –

+1

@MikeIssa sicher, ich denke, Sie müssen nur "Index" und 0 (0 wäre der Spaltenindex, den Sie kopieren möchten) zu tauschen. – alecxe

+0

Ich habe es herausgefunden. 'data = [sheet.cell_value (row, 0) für die Zeile im Bereich (sheet.nrows)]' –