2017-07-07 7 views
0

Ich habe Daten in Excel, die ich teilen möchte.Wie schneidet man Excel-Daten mit Win32com in Python (3.6)

Hier ist mein Code

import win32com.client 

excel = win32com.client.Dispatch("Excel.Application") 
excel.Visible = True 
wb = excel.Workbooks.Open('C:\\Users\\a\\Desktop\\bin256.xlsx') 
ws = wb.ActiveSheet 
input_number = ws.Range('U4:U15363') 
number = [input_number[i:i+60] for i in range(0,len(input_number),60)] 

Aber ich bekomme diese Fehlermeldung:

Traceback (most recent call last): 
    File "<pyshell#13>", line 1, in <module> 
    number = [input_number[i:i+60] for i in range(0,len(input_number),60)] 
    File "<pyshell#13>", line 1, in <listcomp> 
    number = [input_number[i:i+60] for i in range(0,len(input_number),60)] 
    File "C:\Users\a\AppData\Local\Programs\Python\Python36-32\lib\site-packages\win32com\client\dynamic.py", line 256, in __getitem__ 
    return self._get_good_object_(self._oleobj_.Invoke(dispid, LCID, invkind, 1, index)) 
TypeError: Objects of type 'slice' can not be converted to a COM VARIANT 

Wie kann ich das Problem lösen? Danke im Voraus.

Antwort

0

Wollten Sie nur Excel öffnen?
Vielleicht können Sie versuchen, Pandas

import pandas as pd 
file_path=r'E:\download\tmp\test.xlsx' 
file_path='./tmp/test.xlsx' 
df_name.to_excel(file_path,sheet_name='Sheet1',index=False) 
+0

no i geöffnet Excel und Lesedaten befinden U (row) – seokbin

+0

ich möchte Daten spalten alle 60 – seokbin