2017-03-06 5 views
1

リストをExcelに書き込もうとしていますが、リストにはいくつかの列が含まれています。win32comモジュールを使用してExcelでリストを作成する方法

以下に私のコードを含めました。最初の値だけを抽出するようです。私はかなり新しいPythonですが、何が欠けていますか?

コード:

import win32com.client as win32 
# 
Z = [3,4,6,8,9,11,40] 
Q = ['x','y','z','e','g','AA','BB'] 

excel = win32.gencache.EnsureDispatch('Excel.Application') 
wb = excel.Workbooks.Add() 
ws = wb.Worksheets.Add() 
ws.Name = "MyNewSheet" 
ws.Range(ws.Cells(1,1),ws.Cells(1,2)).Value = ['Z','Q'] 
for i,e in enumerate (Z): 
ws.Range("A2:A8").Value = [ i for i in (Z)] 
for i,e in enumerate (Z): 
ws.Range("B2:B8").Value = [ i for i in (Q)] 
wb.SaveAs('beta.xlsx') 
excel.Application.Quit() 

答えて

0

行として値を書きたいことが表示されます。だから、この書き込みが行であることを再整列:

コード:

import win32com.client as win32 

Z = [3, 4, 6, 8, 9, 11, 40] 
Q = ['x', 'y', 'z', 'e', 'g', 'AA', 'BB'] 

excel = win32.gencache.EnsureDispatch('Excel.Application') 
wb = excel.Workbooks.Add() 
ws = wb.Worksheets.Add() 
ws.Name = "MyNewSheet" 
ws.Range("A1:B1").Value = ['Z', 'Q'] 
ws.Range("A2:B8").Value = list(zip(Z, Q)) 
wb.SaveAs('beta.xlsx') 
excel.Application.Quit() 

結果:

Z Q 
3 x 
4 y 
6 z 
8 e 
9 g 
11 AA 
40 BB 
+0

おかげで、それは私が望んでいたまさにです。 – HAMIN

+0

あなたは大歓迎です。しかし、SO上では、感謝の言葉(http://stackoverflow.com/help/someone-answers)はあなたが役に立つと感じる回答や質問をアップアップすることであり、あなたの質問に対する1つの回答が良いそれを受け入れるためにフィットする。 –

関連する問題