Python 将EXCEL中A列中1或者B列中1的值标记为112 代码
时间: 2023-06-07 17:09:27 浏览: 150
可以尝试使用 Pandas 库实现:
```
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel(r"your_excel_file.xlsx")
# 根据 A 列或 B 列是否为 1 添加新的一列
df["new_column"] = df.apply(lambda x: 112 if x["A"] == 1 or x["B"]==1 else "", axis=1)
# 将处理后的数据保存到新的 Excel 文件
df.to_excel(r"your_new_excel_file.xlsx", index=False)
```
相关问题
python对excel操作,满足第一列具有相同值和第二列具有相同的条件下,如果第三列具有特定的字词,则在第四列的位置标记true,完整详细代码
Sure! 首先需要安装 `openpyxl` 库,然后可以使用以下代码实现:
```python
from openpyxl import load_workbook
# 加载Excel文件
workbook = load_workbook(filename='example.xlsx')
sheet = workbook.active
# 用于记录第一列和第二列的值
col1_value = ''
col2_value = ''
# 遍历每一行
for row in sheet.iter_rows(min_row=2, values_only=True): # 从第二行开始遍历,跳过表头
if row[0]: # 如果第一列有值
col1_value = row[0]
if row[1]: # 如果第二列有值
col2_value = row[1]
if '特定的字词' in row[2] and col1_value and col2_value: # 如果第三列包含特定的字词,且第一列和第二列都有值
sheet.cell(row=row[0].row, column=4, value=True) # 在第四列的位置标记true
# 保存Excel文件
workbook.save(filename='example.xlsx')
```
其中,`example.xlsx` 是需要处理的Excel文件名,第一行为表头,第一列为A列,第二列为B列,第三列为C列,第四列为D列。你需要将代码中的 `特定的字词` 替换为你需要匹配的具体词语。
帮我使用Python openpyxl实现对同一excel文件中a列,b列是否相同进行检测,并用黄颜色标记出不同项,并保存为新的文件,程序带PySimpleGUI
好的,让我们一步一步来实现这个功能。
首先,我们需要安装 `openpyxl` 和 `PySimpleGUI` 包。可以在命令行中使用以下命令进行安装:
```
pip install openpyxl
pip install PySimpleGUI
```
然后,我们需要创建一个 GUI 界面,让用户可以选择要检测的 Excel 文件。这里我们使用 PySimpleGUI 来创建一个简单的界面:
```python
import PySimpleGUI as sg
layout = [
[sg.Text("选择要检测的Excel文件:")],
[sg.Input(key="-FILE-"), sg.FileBrowse()],
[sg.Button("开始检测")]
]
window = sg.Window("Excel检测工具", layout)
```
接下来,我们需要在用户点击“开始检测”按钮时,打开并读取 Excel 文件,并对每一行的 A 列和 B 列进行比较,如果不同,则将该行标记为黄色。最后,将修改后的 Excel 文件另存为一个新文件。我们可以使用 `openpyxl` 库来实现这一功能。
```python
import openpyxl
from openpyxl.styles import PatternFill
from openpyxl.utils import get_column_letter
# 定义黄色填充样式
yellow_fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
# 获取用户选择的文件路径
file_path = values["-FILE-"]
# 打开 Excel 文件
wb = openpyxl.load_workbook(file_path)
# 获取第一个工作表
ws = wb.active
# 遍历每一行
for row in ws.iter_rows(min_row=2):
# 获取 A 列和 B 列的值
a_value = row[0].value
b_value = row[1].value
# 如果 A 列和 B 列的值不同,将该行标记为黄色
if a_value != b_value:
for cell in row:
cell.fill = yellow_fill
# 将修改后的 Excel 文件另存为一个新文件
new_file_path = file_path.split(".")[0] + "_new.xlsx"
wb.save(new_file_path)
```
最后,我们可以将上述代码加入到 GUI 界面的按钮回调函数中,完整的代码如下:
```python
import PySimpleGUI as sg
import openpyxl
from openpyxl.styles import PatternFill
from openpyxl.utils import get_column_letter
# 定义黄色填充样式
yellow_fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
# 定义界面布局
layout = [
[sg.Text("选择要检测的Excel文件:")],
[sg.Input(key="-FILE-"), sg.FileBrowse()],
[sg.Button("开始检测")]
]
# 创建窗口
window = sg.Window("Excel检测工具", layout)
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
elif event == "开始检测":
# 获取用户选择的文件路径
file_path = values["-FILE-"]
# 打开 Excel 文件
wb = openpyxl.load_workbook(file_path)
# 获取第一个工作表
ws = wb.active
# 遍历每一行
for row in ws.iter_rows(min_row=2):
# 获取 A 列和 B 列的值
a_value = row[0].value
b_value = row[1].value
# 如果 A 列和 B 列的值不同,将该行标记为黄色
if a_value != b_value:
for cell in row:
cell.fill = yellow_fill
# 将修改后的 Excel 文件另存为一个新文件
new_file_path = file_path.split(".")[0] + "_new.xlsx"
wb.save(new_file_path)
sg.popup(f"检测完成,已保存为新文件:{new_file_path}")
```
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)