2017-09-18 2 views
0

Je veux copier une colonne avec le format mais il y a seulement un attribut 'value' dans la gamme ('A1'). Si je copie seule la valeur, il se révèle être comme ceci:Comment puis-je copier une colonne dans Excel avec le format en utilisant xlwings?

eprofitfloor 

    3830000000 
    1750000000 
    1248720000 
    1200000000 
    884547100 
    720000000 

eprofitfloor 

    383000000000% 
    175000000000% 
    124872000000% 
    120000000000% 
    88454710000% 
    72000000000% 

Je dis non seulement cette colonne, je veux copier toute la colonne complètement, la valeur de la copie ne me conduira quelques problèmes comme le Les données originales sont alignées au centre, mais les résultats sont alignés à gauche. Et beaucoup de problèmes comme ça, donc je veux copier une colonne d'un fichier Excel avec son format orignal.

+0

Je dis non seulement cette colonne, je veux copier toute la colonne complètement, la valeur de la copie ne me conduira quelques problèmes comme les données originales sont alignées au centre, mais les résultats sont alignés à gauche. Et beaucoup de problèmes comme ça, donc je veux copier une colonne d'un fichier Excel avec son format orignal. –

Répondre

0

D'abord, vous pouvez le convertir en pandas DataFrame de cette façon

sht = wb.sheets['Sheet1'] 
# in A1 column the number of row you want 
val = sht.range('A1:A6').value 
df = pd.DataFrame({val[0]:val[1:]}) 

Cast le dtype-str en utilisant astype et ajouter % à cette

df2 = df['eprofitfloor'].astype(str)+"%" 

vous pouvez aussi le faire en utilisant lambda

df2 = df['eprofitfloor'].apply(lambda x : str(x) + '%') 

suggestion: simplement lire votre fichier xlsx à l'aide pandas qui vous donne plus de fonctionnalités

pd.ExcelFile("FileName.xlsx")