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
原始数据:
操作代码:
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')
结果
如果对您有帮助,记得采纳哦。
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']
不知道你这个问题是否已经解决, 如果还没有解决的话: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")