合并后数据指定列数据如果出现重复,则该行底色标红:import pandas as pd import os # 获取当前目录下的所有Excel文件名 files = [f for f in os.listdir('.') if f.endswith('.xlsx')] # 读取所有Excel文件的所有sheet表 dfs = [] for file in files: sheets = pd.read_excel(file, sheet_name=None, header=1) for sheet_name, sheet_data in sheets.items(): dfs.append(sheet_data) # 合并所有DataFrame result = pd.concat(dfs, ignore_index=True, sort=False) # 存储合并后的DataFrame为Excel文件 result.to_excel('merged.xlsx', index=False)
时间: 2024-02-12 17:03:46 浏览: 20
您可以使用`duplicated()`函数来判断某列是否有重复值,并使用`style.applymap()`函数来修改单元格样式,具体代码如下:
```python
import pandas as pd
import os
# 获取当前目录下的所有Excel文件名
files = [f for f in os.listdir('.') if f.endswith('.xlsx')]
# 读取所有Excel文件的所有sheet表
dfs = []
for file in files:
sheets = pd.read_excel(file, sheet_name=None, header=1)
for sheet_name, sheet_data in sheets.items():
dfs.append(sheet_data)
# 合并所有DataFrame
result = pd.concat(dfs, ignore_index=True, sort=False)
# 判断指定列是否有重复值并标红
def highlight_dup(x):
dup = x.duplicated(keep=False)
return ['background-color: red' if v else '' for v in dup]
result.style.applymap(highlight_dup, subset=['指定列名'])
# 存储合并后的DataFrame为Excel文件
result.to_excel('merged.xlsx', index=False)
```
其中,`highlight_dup()`函数用于判断指定列是否有重复值并标红,`subset`参数用于指定需要判断的列名。`applymap()`函数用于将样式应用到每个单元格。