2017-04-11 3 views
0

Je souhaite convertir la première ligne de mon fichier Excel en minuscules. Comment il faire:Python win32com convertir la première ligne en minuscule

import win32com.client 
excel = win32com.client.Dispatch("Excel.Application") 
excel.DisplayAlerts = False 
excel.Visible=False 
for i in files: 
    doc = excel.Workbooks.Open(filepath+'/'+str(i)) 
    ws = doc.Worksheets(str(i).split(".")[0]) 
    ws.Rows(1).Cells.Value=lower(ws.Rows(1).Cells.Value) #This syntax is wrong 
    ws.Rows(1).Replace("_","") 
    ws.Rows(1).Replace(" ","") 
    doc.Save() 
    doc.Close() 
    ws.Replace() 
+0

Essayez: 'ws.Rows (1) .Cells.Value = ws.Rows (1) .Cells.Value.lower()' –

+0

Je reçois AttributeError: l'objet 'tuple' n'a pas d'attribut 'lower' @tmadam –

Répondre

0

La raison pour laquelle votre échec peut être Cells.Value retour ((str1, str2, ... None, None, ...),) ce type de données.

Donc, essayez d'itérer la cellule de ligne pour changer la valeur

for cell in sheet.Rows(1).Cells: 
    pre_value = cell.Value 
    if pre_value is None: 
     break 
    if type(pre_value) is str: 
     cell.Value = pre_value.lower()