win32com.client для форматирования столбцов Excel - PullRequest
0 голосов
/ 12 октября 2019

Я пишу выходные данные, чтобы преуспеть, используя панд. Я хочу отформатировать Excel, используя win32com.client, так как я не упрощаю метод для этого.

мой код из какого-то интернет-поиска

    Xlsx = win32.DispatchEx('Excel.Application')
    Xlsx.DisplayAlerts = True
    Xlsx.Visible = True
    book = Xlsx.Workbooks.Open('C:\\temp\\test.xlsx')
    ws = book.Worksheets("Sheet1")
    ws.Columns.NumberFormat = "0,0"
    ws.Columns.AutoFit()
    ws.Range("A1:P1").Interior.ColorIndex = 20
    book.Save()
    book.Close()
    Xlsx.Quit()
    del book
    del Xlsx 

Здесь я не хочу все столбцы Excelв десятичном формате, например, я хочу столбцы b, d, f в целочисленном формате и все остальные столбцы, имеющие числовые данные в десятичном формате до 2 десятичных знаков и весь текст в «центре», как я могу это сделать?

Во-вторых, еслиВы знаете любой другой модуль, чтобы легко достигнуть этого простого форматирования.

1 Ответ

0 голосов
/ 12 октября 2019

Я думаю, что преобразование столбцов в пандах и запись их в файл Excel намного проще, используя astype и round
, например
df['column_B'].astype(int) для преобразованиястолбец в int
df['column_A'].astype(float).round(2), чтобы преобразовать столбец в float и затем округлить до 2 десятичных знаков

...