根据列的格式从excel中删除记录

2024-06-02 04:52:59 发布

您现在位置:Python中文网/ 问答频道 /正文

希望大家今天过得愉快!你知道吗

我试图从excel中读取数据,但在此之前,我想删除struckthrough(删除线:-字符串格式,如粗体或斜体)的记录,并用null/空格替换数据。是否有任何包/代码可以帮助我找到特定单元格的格式并删除其值。你知道吗

期待你的帮助。你知道吗

谢谢你, 普拉尚


Tags: 数据字符串代码格式记录读取数据excelnull
2条回答

这也可以通过openpyxl完成。你知道吗

from openpyxl import load_workbook


wb = load_workbook("strikethrough.xlsx")
ws = wb.active # wb.sheetnames[0] will do, too
for row in ws:
    for cell in row:
        value = cell.value # Note, empty cells have a value of None
        if cell.font.strike:
            value = ""
        print(value)
        #print(cell.font) # See more attributes

wb.close()

将此作为我的电子表格:

Small spreadsheet with strikethroughs

我得到这个输出:

HeaderA
HeaderB
Row2 ColA

Row3 ColA
Row3 ColB


None
None
Above cell is empty
None
  1. 打开传递参数formatting\u info=True的工作簿。你知道吗
  2. 获取单元格的XF对象和Font对象。你知道吗
  3. 你会在划掉的属性中找到你的价值
workbook = xlrd.open_workbook(filename, formatting_info=True)
sh = workbook.sheet_by_name(sheet)
xf = workbook.xf_list[sh.cell_xf_index(row, col)]
font = workbook.font_list[xf.font_index]
if font.struck_out:
    print(row, col)

相关问题 更多 >