excel C 列 为以下数据
我创建A,B两 空白列 ,要输入 数值 ,数值格式如下
A1 为 1, A2 继续为1 , A3 继续为1,
若发现** 同行的C列 里面有关键词 'taobao' 则下一个单位格数值 +1, **
待C列无 数据暂停
B1 为1 , B2 为 B1+1, B3 为 B2+1
** 若发现** 同行的C列 里面有关键词 'taobao' 则 下一个单元格 恢复为 1 **
待C列无 数据暂停
河北省
河南省
湖北省
湖南省
河南省
湖南省
湖南省
湖南省
https://taobao.com/2PknNHmn
湖南省
湖南省
湖南省
湖南省
湖南省
湖南省
湖南省
湖南省
湖南省
湖南省
湖南省
https://taobao.com/yGAnqKBx
河北省
河南省
湖北省
河北省
河南省
湖北省
湖南省
河南省
湖南省
https://taobao.com/m0XnRLLP
河北省
河南省
河北省
河南省
湖北省
河北省
河南省
湖北省
湖南省
河南省
湖南省
https://taobao.com/IbMnZau3
河北省
河南省
湖北省
河北省
河南省
湖北省
湖南省
河南省
湖南省
湖南省
河南省
https://taobao.com/XVxnkH1m
河北省
河南省
湖北省
河北省
河南省
湖北省
湖南省
河南省
湖南省
湖南省
河南省
import openpyxl
excel_path = "./taobao.xlsx"
excel_obj = openpyxl.load_workbook(excel_path)
wa = excel_obj.active
a_num, b_num = 1, 1
for i in wa.values:
if "taobao" in i[-1]:
wa[f'A{a_num}'] = 2
wa[f'B{a_num}'] = b_num
b_num = 1
else:
wa[f'A{a_num}'] = 1
wa[f'B{a_num}'] = b_num
b_num += 1
a_num += 1
excel_obj.save(filename=excel_path)
代码如下:
```python
import openpyxl
# 加载 excel 文件
wb = openpyxl.load_workbook("test.xlsx")
sheet = wb.active
# 创建 A, B 两个空白列
sheet.insert_cols(1)
sheet.insert_cols(2)
# 遍历所有行
for row in sheet.iter_rows(min_row=1, max_col=3):
a_cell = row[0]
b_cell = row[1]
c_cell = row[2]
# 计算 A 列的数值
if c_cell.value == None or 'taobao' not in c_cell.value:
a_cell.value = 1
else:
a_cell.value = a_cell.value + 1
# 计算 B 列的数值
if c_cell.value == None or 'taobao' not in c_cell.value:
b_cell.value = b_cell.value + 1
else:
b_cell.value = 1
# 保存修改
wb.save("test.xlsx")
```
import openpyxl
# 打开 excel 文件
wb = openpyxl.load_workbook('data.xlsx')
# 选择工作表
sheet = wb['Sheet1']
# 记录 A 列和 B 列的当前值
a_value = 1
b_value = 1
# 遍历每一行
for row in range(1, sheet.max_row + 1):
# 读取 C 列的值
c_value = sheet.cell(row=row, column=3).value
# 如果 C 列的值为 "taobao"
if c_value and 'taobao' in c_value:
a_value += 1
b_value = 1
else:
sheet.cell(row=row, column=1).value = a_value
sheet.cell(row=row, column=2).value = b_value
a_value += 1
b_value += 1
# 保存修改
wb.save('data.xlsx')
该代码打开了一个名为 "data.xlsx" 的 excel 文件,选择了第一个工作表,然后遍历了每一行,并在每一行上执行了该代码中的逻辑。如果发现 C 列的值包含关键字 "taobao",则增加 A 列的值,并将 B 列的值重置为 1。否则,A 列的值增加,B 列的值也增加。最后,保存了修改的 excel 文件。
该回答引用ChatGPT
请参考下面的解决方案,如果有帮助,还请点击 “采纳” 感谢支持!
该代码在每一行中遍历C列,如果发现关键词'taobao',则A列值+1,B列值回到1。否则A列值不变,B列值+1。最后保存工作簿。
import openpyxl
# 读取 Excel 文件
wb = openpyxl.load_workbook('file.xlsx')
sheet = wb['Sheet1']
# 循环遍历每一行
for row in sheet.iter_rows(min_row=1, max_col=3, values_only=True):
a_value = 1
b_value = 1
if 'taobao' in row[2]:
a_value += 1
b_value = 1
else:
b_value += 1
sheet.cell(row=row[0].row, column=1).value = a_value
sheet.cell(row=row[0].row, column=2).value = b_value
# 保存修改到 Excel 文件
wb.save('file.xlsx')