吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 383|回复: 6
收起左侧

[求助] 请教各位大佬一个python操作excel问题

[复制链接]
feimao 发表于 2024-6-4 14:44
各位大佬,小弟是新手,我有两个excel,以其中一个excel的指定字段,去匹配另外一个excel对应列,然后填充;代码如下:
import pandas as pd
df_a = pd.read_excel(r"C:\1.xlsx")
df_b = pd.read_excel(r"C:\2.xlsx")
df_b.set_index('姓名', inplace=True)
df_a['角色'] = df_a['姓名'].map(df_b['角色'])

但是写入新的excel后,原来的excel的样式和内容的链接都没了,怎样才能保留原来的样式呢?
查找了网上的资料,使用
writer = pd.ExcelWriter(df_result, engine = 'openpyxl')也不行。

恳请大家多多指点。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wkdxz 发表于 2024-6-4 15:05
用xlwings库读写excel,可以直接操作当前活动工作簿,不丢失样式和链接
捷豹网络丶贱仔 发表于 2024-6-4 16:04
[Python] 纯文本查看 复制代码
import pandas as pd
from openpyxl import load_workbook

# 读取Excel文件
df_a = pd.read_excel(r"C:\1.xlsx")
df_b = pd.read_excel(r"C:\2.xlsx")

# 设置索引并进行映射
df_b.set_index('姓名', inplace=True)
df_a['角色'] = df_a['姓名'].map(df_b['角色'])

# 加载原始Excel文件
wb = load_workbook(r"C:\1.xlsx")
ws = wb.active

# 将新的数据写回原始Excel文件
for index, row in df_a.iterrows():
    ws.cell(row=index+2, column=3, value=row['角色'])  # 假设角色列是第3列且数据从第2行开始

# 保存Excel文件
wb.save(r"C:\1_with_styles.xlsx")
捷豹网络丶贱仔 发表于 2024-6-4 16:05
[Python] 纯文本查看 复制代码
import pandas as pd
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows

# 读取Excel文件
df_a = pd.read_excel(r"C:\1.xlsx")
df_b = pd.read_excel(r"C:\2.xlsx")

# 设置索引并进行映射
df_b.set_index('姓名', inplace=True)
df_a['角色'] = df_a['姓名'].map(df_b['角色'])

# 加载原始Excel文件
wb = load_workbook(r"C:\1.xlsx")
ws = wb.active

# 获取角色列的索引
role_col_index = df_a.columns.get_loc('角色') + 1  # openpyxl的列索引从1开始

# 将新的数据写回原始Excel文件
for index, row in df_a.iterrows():
    ws.cell(row=index+2, column=role_col_index, value=row['角色'])  # 数据从第2行开始

# 保存Excel文件
wb.save(r"C:\1_with_styles.xlsx")

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
feimao + 1 + 1 谢谢@Thanks!

查看全部评分

ignativs 发表于 2024-6-4 17:45
要么将数据写回原文件,要么在新文件设置格式
 楼主| feimao 发表于 2024-6-4 18:27
捷豹网络丶贱仔 发表于 2024-6-4 16:05
[mw_shl_code=python,true]import pandas as pd
from openpyxl import load_workbook
from openpyxl.util ...

太感谢了!
 楼主| feimao 发表于 2024-6-4 18:29
ignativs 发表于 2024-6-4 17:45
要么将数据写回原文件,要么在新文件设置格式

感谢点拨
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-6-28 11:14

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表