如何使用xlwings使用格式复制Excel中的列?

时间:2017-09-18 02:06:40

标签: python excel python-2.7 xlwings

我想复制一个包含格式的列,但在范围('A1')中只有一个属性'value'。 如果我只复制该值,它将变为如下:

eprofitfloor

    3830000000
    1750000000
    1248720000
    1200000000
     884547100
     720000000

eprofitfloor

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

我不仅说这个专栏,我想完全复制所有专栏,只有复制值会引起我一些问题,比如原始数据是对齐中心,但结果是左对齐。还有很多这样的问题,所以我想复制一个带有原始格式的Excel文件列。

1 个答案:

答案 0 :(得分:0)

首先,您可以通过这种方式将其转换为pandas DataFrame

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:]})

使用dtypestr投射到astype并将%追加到

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

您也可以使用lambda

来完成此操作
df2 = df['eprofitfloor'].apply( lambda x : str(x) + '%')

建议:只需使用xlsx阅读您的pandas文件即可获得更多功能

 pd.ExcelFile("FileName.xlsx")