python中Excel符合条件代码

Excel中如果A列数值符合条件,那么C列输入B列的内容,如果不符合,C列输入D列内容,如何用python代码表达

可以使用Python中的if-else语句来实现这个功能。
首先,使用for循环遍历Excel中A列的每一行,然后使用if-else语句判断A列的数值是否符合条件,如果符合条件,则将B列的内容赋值给C列;如果不符合条件,则将D列的内容赋值给C列。

if a:
    c,b = b, c
elese:
 c,d = d,c

# 默认从第1行开始
n = 1
# 遍历A列
for i in ws['A']:
    # 判断数据是否符合条件
    if i.value == 条件:
        # 符合则C列对应单元格写入B列对应单元格数据
        ws['C'+str(n)].value = ws['B'+str(n)].value
    else:
        # 不符合则C列对应单元格写入D列对应单元格数据
        ws['C'+str(n)].value = ws['D'+str(n)].value

原始数据:

img

操作代码:

import pandas as pd
df=pd.read_excel(r'C:\Users\MSI-NB\PycharmProjects\ceshi.xlsx')
for index in df.index :
    if df.loc[index,'a'] >50 :
        df.loc[index,'c'] = df.loc[index,'b']
    else :
        df.loc[index,'c'] = df.loc[index,'d']
print(df)
df.to_excel(r'C:\Users\MSI-NB\PycharmProjects\ceshi.xlsx')

结果

img

如果对您有帮助,记得采纳哦。


for row_index,row in data.iterrows():
    data.loc[row_index,'C']=data.loc[row_index,'B' if data.loc[row_index,'A']=='你的条件' else 'D']
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这篇文章:python解决多个Excel文件的合并
  • 除此之外, 这篇博客: python 对 excel的基本操作(1)中的      16.2、筛选符合条件的单元格,添加数据条,并标注颜色(三色) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    import datetime
    
    from openpyxl import Workbook
    from openpyxl import load_workbook
    import pandas as pd
    from openpyxl.formatting.rule import CellIsRule, DataBarRule, ColorScaleRule
    from openpyxl.styles import Alignment, PatternFill, Font
    from openpyxl.utils.dataframe import dataframe_to_rows
    
    #  数据条
    wb = Workbook()
    ws = wb.active
    
    data = [[13, 45],
            [24, 56],
            [31, 53],
            [34, 51],
            [65, 89],
            [81, 50],
            [41, 98],
            [91, 65],
            [76, 80]
            ]
    
    # 创建sheet(自己命名和指定位置)
    bj_sheet = wb.create_sheet("北京", 0)
    sh_sheet = wb.create_sheet("上海", 1)
    sz_sheet = wb.create_sheet("深圳", 2)
    
    # 批量给单元格赋值
    for r in data:
        bj_sheet.append(r)
    
    # 筛选符合条件的单元格,添加数据条,并标注颜色(双色)。
    rule1 = ColorScaleRule(start_type="min", start_color="FFFFF0F5",
                           end_type="max", end_color="FFFF7F00")
    
    # 筛选符合条件的单元格,添加数据条,并标注颜色(三色)。
    rule2 = ColorScaleRule(start_type="percentile", start_value=10, start_color="FFFFE4E1",
                           mid_type="percentile", mid_value=50, mid_color="FFFFC1C1",
                           end_type="percentile", end_value=90, end_color="FFFF3030")
    
    bj_sheet.conditional_formatting.add("A1:A10", rule1)
    bj_sheet.conditional_formatting.add("B1:B10", rule2)
    
    bj_sheet["C1"] = "CCC张三"
    bj_sheet["C2"] = "CCC李四"
    bj_sheet["C3"] = "CCC王五"
    
    wb.save("C:/Users/Administrator/Desktop/456999/2022/3z/202201071351.xlsx")
    


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^