Bootstrap

python剔除excel单元格部分内容,留下想要的内容

例如:

 只要年或者月

 代码如下:

def nian():
    import openpyxl
    from datetime import datetime
    # 打开Excel文件
    wb = openpyxl.load_workbook('D:\yewu\student.xlsx')  # 文件名因人而异
    # 选择工作表
    sheet = wb['Sheet1']  # 如果有多个工作表就写一个列表添加一个循环遍历
    # 遍历每一行
    for i, row in enumerate(sheet.iter_rows(min_row=2, values_only=True), 2):#从哪行开始读
        # 之所以从第二行开始是因为第一行可能是一些变量名什么的,具体情况具体分析
        # 如果第一列的值符合要求,则将第一列的值转换为datetime对象,并修改为年-月-日的格式
        if isinstance(row[0], str) and '-' in row[0]:#记得修改所在列
            date_range = row[3].split('-')  # 从"至"开始分割,后面的内容就不要了,从哪行开始分割
            start_date = datetime.strptime(date_range[0], '%Y')#分割的第一个
            sheet.cell(row=i, column=0).value = start_date.strftime('%Y')修改列
    # 保存修改
    wb.save('D:\yewu\student.xlsx')




def yue():
    import openpyxl
    from datetime import datetime
    # 打开Excel文件
    wb = openpyxl.load_workbook('D:\yewu\student.xlsx')  # 文件名因人而异
    # 选择工作表
    sheet = wb['Sheet1']  # 如果有多个工作表就写一个列表添加一个循环遍历
    # 遍历每一行
    for i, row in enumerate(sheet.iter_rows(min_row=2, values_only=True), 2):#从哪行读
        # 之所以从第二行开始是因为第一行可能是一些变量名什么的,具体情况具体分析
        # 如果第一列的值符合要求,则将第一列的值转换为datetime对象,并修改为年-月-日的格式
        if isinstance(row[0], str) and '-' in row[0]:#记得修改所在列
            date_range = row[3].split('-')  # 从"至"开始分割,后面的内容就不要了,从哪行开始分割
            start_date = datetime.strptime(date_range[1], '%m')#分割的第二个
            sheet.cell(row=i, column=1).value = start_date.strftime('%m')#修改列
    # 保存修改
    wb.save('D:\yewu\student.xlsx')

;