2016-07-19 8 views
0

大規模なExcelスプレッドシートで3列を抽出し、CSV形式にエクスポートしようとしています。私はXLRDを持っていますが、使用できる列固有のツールがないことがわかりました(または、おそらく私はそれを見逃しただけです)。Excelで複数の特定の列を選択し、Pythonを使用してCSVにエクスポート

の例では、私が持っているスプレッドシートが、私はCSVにちょうど列2、COLUMN5、およびColumn6を取得しているよ、次の

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   

のように見える優れています。他の列は内部使用のみです。 私のpythonで実験されてことだし、それはおおよそ次のようになります。

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)) 

事が一種のバラバラどこ最後の部分は、私が選択できるようにする一方で、私は今だけ以降column4とを印刷したものを、あります特定のもの(ハードコード)。アドバイスをいただければ幸いです。

私はまた、(3,4)のようなもので追加しようとしましたが、それは次に単にcolumn4を印刷します。その論理を使って別の印刷ラインを追加しようとしましたが、フォーマットされていないものが出てきます。

* printステートメントはコードの一部ではありませんが、出てくるものを視覚化するのに役立ちます。これは悪い習慣ではないと思います。

答えて

0

は、私はそれを行うために必要な正確に何をやった例

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

として2番目と3番目の列をエクスポートすることをお試しください!それほど質問するのではない場合は、「セル」を使ってどのラインが正確に説明できるのでしょうか? – RottenLettuce