用python openpyxl修改excel中的字段类型

qjp7pelc  于 2022-12-19  发布在  Python
关注(0)|答案(1)|浏览(287)

我有一个Excel文件,其中字段的字段类型是字符串(Excel中的VarType 8)。我想在Excel中将此字段类型更改为双精度(Excel中的VarType 5)。
我该怎么做呢?我找到了如何改变格式,但在Excel中用openpyxl改变数据类型仍然是个谜。

def fix_timetype(myxlsfile):
    file = op.load_workbook(myxlsfile)
    sheets = file.sheetnames
    sheet = file[sheets[0]]
    rows = sheet.max_row
    for i in range(2, rows + 1):  # start line 2, take last line so +1
        cell = 'C' + f'{i}'  # kolom B and itter
        sheet[cell].number_format = 'h:mm:ss'
    file.save(myxlsfile)
whitzsjs

whitzsjs1#

您可以使用工作表对象的column_dimensions属性,并将data_type属性设置为“n”。以下是如何执行此操作的示例:

import openpyxl

# Open the workbook
wb = openpyxl.load_workbook('data.xlsx')

# Get the sheet
sheet = wb['Sheet1']

# Get the column to change
column = sheet['A']

# Change the data type of the column to double
sheet.column_dimensions[column[1].column].data_type = 'n'

# Save the workbook
wb.save('data.xlsx')

在此示例中,data.xlsx是Excel文件的名称,Sheet1是包含要更改其数据类型的列的工作表的名称。column变量是列A中的单元格列表,data_type属性设置为“n”,表示Excel中的数据类型“double”(也称为数值)。

相关问题