企业网站首页图片软文素材库
安装 Pandas 和 openpyxl
首先,确保已经安装了 Pandas 和 openpyxl。可以通过 pip 安装:
pip install pandas openpyxl
创建 DataFrame
-
import pandas as pd -
# 创建 DataFrame -
df1 = pd.DataFrame({ -
'姓名': ['张三', '李四', '王五'], -
'年龄': [25, 30, 35], -
'城市': ['北京', '上海', '广州'] -
}) -
df2 = pd.DataFrame({ -
'姓名': ['赵六', '孙七', '周八'], -
'年龄': [40, 45, 50], -
'城市': ['深圳', '成都', '杭州'] -
}) -
print(df1) -
print(df2)
使用 openpyxl 合并单元格
-
import pandas as pd -
from openpyxl import Workbook -
from openpyxl.utils.dataframe import dataframe_to_rows -
# 创建 DataFrame -
df1 = pd.DataFrame({ -
'姓名': ['张三', '李四', '王五'], -
'年龄': [25, 30, 35], -
'城市': ['北京', '上海', '广州'] -
}) -
# 创建一个新的工作簿 -
wb = Workbook() -
ws = wb.active -
# 将 DataFrame 写入工作表 -
for r_idx, row in enumerate(dataframe_to_rows(df1, index=False, header=True)): -
for c_idx, value in enumerate(row, 1): -
ws.cell(row=r_idx+1, column=c_idx, value=value) -
# 合并单元格 -
ws.merge_cells('A1:B1') # 合并 A1 和 B1 单元格 -
# 保存 Excel 文件 -
wb.save('merged_cells.xlsx')
合并 DataFrame 到不同的工作表
-
import pandas as pd -
# 创建 DataFrame -
df1 = pd.DataFrame({ -
'姓名': ['张三', '李四', '王五'], -
'年龄': [25, 30, 35], -
'城市': ['北京', '上海', '广州'] -
}) -
df2 = pd.DataFrame({ -
'姓名': ['赵六', '孙七', '周八'], -
'年龄': [40, 45, 50], -
'城市': ['深圳', '成都', '杭州'] -
}) -
# 合并 DataFrame 到不同的工作表 -
with pd.ExcelWriter('combined_sheets.xlsx', engine='openpyxl') as writer: -
df1.to_excel(writer, sheet_name='Sheet1', index=False) -
df2.to_excel(writer, sheet_name='Sheet2', index=False)
合并多个 Excel 文件
-
import pandas as pd -
# 读取多个 Excel 文件 -
files = ['file1.xlsx', 'file2.xlsx'] -
dfs = [] -
for file in files: -
dfs.append(pd.read_excel(file)) -
# 合并所有 DataFrame -
combined = pd.concat(dfs, ignore_index=True) -
# 保存合并后的数据 -
combined.to_excel('combined_files.xlsx', index=False) -
使用 openpyxl 合并单元格并保留数据 -
import pandas as pd -
from openpyxl import Workbook -
from openpyxl.utils.dataframe import dataframe_to_rows -
# 创建 DataFrame -
df1 = pd.DataFrame({ -
'姓名': ['张三', '李四', '王五'], -
'年龄': [25, 30, 35], -
'城市': ['北京', '上海', '广州'] -
}) -
# 创建一个新的工作簿 -
wb = Workbook() -
ws = wb.active -
# 将 DataFrame 写入工作表 -
for r_idx, row in enumerate(dataframe_to_rows(df1, index=False, header=True)): -
for c_idx, value in enumerate(row, 1): -
ws.cell(row=r_idx+1, column=c_idx, value=value) -
# 合并单元格但保留数据 -
ws.merge_cells('A1:B1', start_row=1, start_column=1, end_row=1, end_column=2) -
# 保存 Excel 文件 -
wb.save('merged_cells_with_data.xlsx')
合并多个 DataFrame 到不同工作表
-
import pandas as pd -
from openpyxl import Workbook -
from openpyxl.utils.dataframe import dataframe_to_rows -
# 创建 DataFrame -
df1 = pd.DataFrame({ -
'姓名': ['张三', '李四', '王五'], -
'年龄': [25, 30, 35], -
'城市': ['北京', '上海', '广州'] -
}) -
df2 = pd.DataFrame({ -
'姓名': ['赵六', '孙七', '周八'], -
'年龄': [40, 45, 50], -
'城市': ['深圳', '成都', '杭州'] -
}) -
# 创建一个新的工作簿 -
wb = Workbook() -
# 添加不同的工作表 -
ws1 = wb.create_sheet(title='Sheet1') -
ws2 = wb.create_sheet(title='Sheet2') -
# 将 DataFrame 写入不同的工作表 -
for r_idx, row in enumerate(dataframe_to_rows(df1, index=False, header=True)): -
for c_idx, value in enumerate(row, 1): -
ws1.cell(row=r_idx+1, column=c_idx, value=value) -
for r_idx, row in enumerate(dataframe_to_rows(df2, index=False, header=True)): -
for c_idx, value in enumerate(row, 1): -
ws2.cell(row=r_idx+1, column=c_idx, value=value) -
# 保存 Excel 文件 -
wb.save('multiple_sheets.xlsx')
使用 openpyxl 合并单元格并设置样式
-
import pandas as pd -
from openpyxl import Workbook -
from openpyxl.utils.dataframe import dataframe_to_rows -
from openpyxl.styles import Font, Alignment -
# 创建 DataFrame -
df1 = pd.DataFrame({ -
'姓名': ['张三', '李四', '王五'], -
'年龄': [25, 30, 35], -
'城市': ['北京', '上海', '广州'] -
}) -
# 创建一个新的工作簿 -
wb = Workbook() -
ws = wb.active -
# 设置字体样式 -
font_style = Font(bold=True, color="FF0000") -
alignment = Alignment(horizontal="center", vertical="center") -
# 将 DataFrame 写入工作表 -
for r_idx, row in enumerate(dataframe_to_rows(df1, index=False, header=True)): -
for c_idx, value in enumerate(row, 1): -
cell = ws.cell(row=r_idx+1, column=c_idx, value=value) -
if r_idx == 0: # 如果是标题行,则设置样式 -
cell.font = font_style -
cell.alignment = alignment -
# 合并单元格并设置样式 -
ws.merge_cells('A1:B1', start_row=1, start_column=1, end_row=1, end_column=2) -
ws['A1'].font = font_style -
ws['A1'].alignment = alignment -
# 保存 Excel 文件 -
wb.save('merged_cells_with_styles.xlsx')
合并多个 Excel 文件到一个工作簿的不同工作表
-
import pandas as pd -
from openpyxl import Workbook -
from openpyxl.utils.dataframe import dataframe_to_rows -
# 读取多个 Excel 文件 -
files = ['file1.xlsx', 'file2.xlsx'] -
dfs = [] -
for file in files: -
dfs.append(pd.read_excel(file)) -
# 创建一个新的工作簿 -
wb = Workbook() -
# 添加不同的工作表并将数据写入 -
for idx, df in enumerate(dfs): -
ws = wb.create_sheet(title=f'Sheet{idx+1}') -
for r_idx, row in enumerate(dataframe_to_rows(df, index=False, header=True)): -
for c_idx, value in enumerate(row, 1): -
ws.cell(row=r_idx+1, column=c_idx, value=value) -
# 保存 Excel 文件 -
wb.save('combined_files_multiple_sheets.xlsx')
使用 openpyxl 合并单元格并设置条件格式
-
import pandas as pd -
from openpyxl import Workbook -
from openpyxl.utils.dataframe import dataframe_to_rows -
from openpyxl.styles import PatternFill, Font -
from openpyxl.formatting.rule import CellIsRule -
# 创建 DataFrame -
df1 = pd.DataFrame({ -
'姓名': ['张三', '李四', '王五'], -
'年龄': [25, 30, 35], -
'城市': ['北京', '上海', '广州'] -
}) -
# 创建一个新的工作簿 -
wb = Workbook() -
ws = wb.active -
# 设置字体样式 -
font_style = Font(bold=True, color="FF0000") -
fill_style = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid") -
# 将 DataFrame 写入工作表 -
for r_idx, row in enumerate(dataframe_to_rows(df1, index=False, header=True)): -
for c_idx, value in enumerate(row, 1): -
cell = ws.cell(row=r_idx+1, column=c_idx, value=value) -
if r_idx == 0: # 如果是标题行,则设置样式 -
cell.font = font_style -
# 合并单元格 -
ws.merge_cells('A1:B1', start_row=1, start_column=1, end_row=1, end_column=2) -
# 设置条件格式 -
rule = CellIsRule(operator='equal', formula=['"北京"'], stopIfTrue=True, fill=fill_style) -
ws.conditional_formatting.add('C1:C3', rule) -
# 保存 Excel 文件 -
wb.save('merged_cells_with_conditional_formatting.xlsx')
合并 DataFrame 并去除重复数据
-
import pandas as pd -
# 创建 DataFrame -
df1 = pd.DataFrame({ -
'姓名': ['张三', '李四', '王五'], -
'年龄': [25, 30, 35], -
'城市': ['北京', '上海', '广州'] -
}) -
df2 = pd.DataFrame({ -
'姓名': ['赵六', '孙七', '周八'], -
'年龄': [40, 45, 50], -
'城市': ['深圳', '成都', '杭州'] -
}) -
# 合并 DataFrame -
combined = pd.concat([df1, df2], ignore_index=True) -
# 去除重复数据 -
unique_combined = combined.drop_duplicates() -
# 保存合并后的数据 -
unique_combined.to_excel('unique_combined_files.xlsx', index=False)
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。
