2016-07-19 10 views
0

Ich versuche, 3 Spalten in einer großen Excel-Tabelle zu extrahieren und es in das CSV-Format zu exportieren. Ich habe XLRD, habe aber festgestellt, dass es keine spaltenspezifischen Werkzeuge gibt, die ich verwenden kann (oder vielleicht habe ich es einfach übersehen).Auswählen mehrerer spezifischer Spalten in Excel und Exportieren in CSV mit Python

Ein Beispiel Excel-Tabelle I sieht wie folgt aus

Column1  Column2   Column3  Column4   Column5   Column6 
1    2    3    4    5    6 
1    2    3    4    5    6 
1    2    3    4    5    6 
1    2    3    4    5    6 
1    2    3    4    5    6 
1    2    3    4    5    6 
1    2    3    4    5    6 
1    2    3    4    5    6   

habe ich bin nur Spalte2, Column5 und Column6 in eine CSV zu bekommen. Die anderen Spalten sind nur für den internen Gebrauch bestimmt. Ich wurde mit Python experimentiert und es sieht in etwa wie folgt aus:

import xlrd 
import csv 

def excelToCSV(): 

wb = xlrd.open_workbook('my spreadsheet') 
sheet = wb.sheet_by_name('Sheet1') 
csvFile = open('output', 'wb') 
wr = csv.writer(csvFile, quoting=csv.QUOTE_ALL) 

for rownum in xrange(sheet.nrows): 
    wr.writerow(sheet.row_values(rownum)) 
    print (sheet.row_values(rownum,3)) 

Der letzte Teil ist, wo die Dinge Art auseinander fallen, was ich habe jetzt nur druckt Column4 und ab, während ich in der Lage sein möchten, wählen Sie bestimmte (fest codiert). Jeder Rat würde geschätzt werden.

Ich habe auch versucht, etwas wie (3,4) hinzufügen, die dann nur Spalte4 druckt. Mit dieser Logik habe ich versucht, eine weitere Druckzeile hinzuzufügen, die aber nur unformatiert erscheint.

* Die Druckanweisungen werden nicht Teil des Codes sein, aber sie helfen mir zu visualisieren, was herauskommen wird. Ich hoffe, das ist keine schlechte Übung.

Antwort

0

die versuchen, die 2. und 3. Säule als ein Beispiel für den Export

...  
for rownum in xrange(sheet.nrows): 
     wr.writerow([sheet.cell(rownum, 1).value, 
        sheet.cell(rownum, 2).value]) 
+0

Das tat genau das, was ich es tun musste! Wenn es nicht zu viel verlangt ist, könntest du auch erklären, welche Zeile genau "Zelle" benutzt? – RottenLettuce