鱼C论坛

 找回密码
 立即注册
查看: 77|回复: 9

python 批量操作Excel中某列代码,对应的代码名称

[复制链接]
发表于 2024-5-20 17:50:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x



产品        代码                                代码               名称
A        LP221                        LP221        完成
B        LP24                                LP224        未完成
C        无                                LP324        待确认
D        LP324                                       

如果代码列为无,代码列默认无,如果代码列为字母加数字显示为中文名称


最终显示结果为


产品        代码                               
A        完成               
B        未完成                       
C        无                               
D        待确认       
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-5-20 17:50:45 | 显示全部楼层
好的,我来给你提供一个可以实现这个功能的Python代码:

  1. import pandas as pd

  2. # 读取Excel文件
  3. df = pd.read_excel('your_file.xlsx')

  4. # 创建代码名称字典
  5. code_name_dict = {
  6.     'LP221': '完成',
  7.     'LP224': '未完成',
  8.     'LP324': '待确认'
  9. }

  10. # 根据代码列填充名称列
  11. df['名称'] = df['代码'].map(code_name_dict)
  12. df.loc[df['代码'].isnull(), '名称'] = '无'

  13. # 输出结果
  14. print(df[['产品', '代码', '名称']])
复制代码


这段代码首先读取Excel文件,然后创建了一个代码和名称的对应字典。接下来,使用`map()`函数根据代码列填充名称列。对于代码列为空的行,直接填充为'无'。最后输出包含产品、代码和名称三列的结果。

这种方法非常灵活,如果需求有变,只需要修改代码和名称的对应关系即可。希望这个代码对你有帮助,如果还有什么不明白的可以继续问我。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-20 18:37:21 | 显示全部楼层
FishC 发表于 2024-5-20 17:50
好的,我来给你提供一个可以实现这个功能的Python代码:

无没有显示,直接显示空白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-20 18:37:29 | 显示全部楼层
冰菲 发表于 2024-05-20 18:37
无没有显示,直接显示空白


非常抱歉,我在之前的代码中确实有错误。我们需要将“无”替换为“代码列默认值”,即空字符串。下面是修正后的代码:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('your_file.xlsx')

# 创建代码名称字典
code_name_dict = {
    'LP221': '完成',
    'LP224': '未完成',
    'LP324': '待确认'
}

# 根据代码列填充名称列
df['名称'] = df['代码'].map(code_name_dict).fillna('')

# 输出结果
print(df[['产品', '代码', '名称']])

在这个修正后的代码中,我们使用了`fillna()`函数来将NaN(空值)替换为指定的默认值,这里是空字符串。同时,我们还将输出结果限定为只包含'产品'、'代码'和'名称'三列。这样就可以确保在“代码列”为空时,名称列会显示为空字符串。

希望这次的解释能够解决你的问题,如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-21 10:29:47 | 显示全部楼层
FishC 发表于 2024-5-20 18:37
非常抱歉,我在之前的代码中确实有错误。我们需要将“无”替换为“代码列默认值”,即空字符串。下面是 ...

代码的变成了中文名称,但是原来的“无”,没有了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-21 10:29:55 | 显示全部楼层
冰菲 发表于 2024-05-21 10:29
代码的变成了中文名称,但是原来的“无”,没有了


非常抱歉之前的回答有误导。以下是修正后的代码:

  1. import pandas as pd

  2. # 读取Excel文件
  3. df = pd.read_excel('your_file.xlsx')

  4. # 创建代码名称字典
  5. code_name_dict = {
  6.     'LP221': '完成',
  7.     'LP224': '未完成',
  8.     'LP324': '待确认'
  9. }

  10. # 根据代码列填充名称列
  11. df['名称'] = df['代码'].map(code_name_dict).fillna('无')

  12. # 输出结果
  13. print(df[['产品', '代码', '名称']])
复制代码


在这个修正后的代码中,我们使用`map()`函数根据字典将代码转换为对应的中文名称,然后使用`fillna()`函数将NaN(空值)替换为默认值'无'。最后,我们只输出包含'产品'、'代码'和'名称'三列的结果。

希望这次的解释和代码能够正确满足你的需求。如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-21 10:33:02 | 显示全部楼层
FishC 发表于 2024-5-21 10:29
非常抱歉之前的回答有误导。以下是修正后的代码:

代码不全的情况下,我想要的是代码匹配不到的显示未知,无的仍然显示无
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-21 10:33:15 | 显示全部楼层
冰菲 发表于 2024-05-21 10:33
代码不全的情况下,我想要的是代码匹配不到的显示未知 ...


非常抱歉之前的回答依然有误导。以下是修正后的代码:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('your_file.xlsx')

# 创建代码名称字典
code_name_dict = {
    'LP221': '完成',
    'LP224': '未完成',
    'LP324': '待确认'
}

# 根据代码列填充名称列
df['名称'] = df['代码'].map(code_name_dict).fillna('未知')

# 将无修改回原值
df.loc[df['代码'] == '无', '名称'] = '无'

# 输出结果
print(df[['产品', '名称']])

在这个修正后的代码中,我们使用`map()`函数根据字典将代码转换为对应的中文名称,然后使用`fillna()`函数将NaN(空值)替换为默认值'未知'。同时,我们使用`loc`函数将代码列为'无'的行的名称列修改为'无'。最后,我们只输出包含'产品'和'名称'两列的结果。

希望这次的解释和代码能够正确满足你的需求。如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-21 10:38:39 | 显示全部楼层
FishC 发表于 2024-5-21 10:33
非常抱歉之前的回答依然有误导。以下是修正后的代码:

import pandas as pd

无还是显示未知
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-21 10:38:48 | 显示全部楼层
冰菲 发表于 2024-05-21 10:38
无还是显示未知


非常抱歉,之前还是有些错误。以下是修正后的代码:

  1. import pandas as pd

  2. # 读取Excel文件
  3. df = pd.read_excel('your_file.xlsx')

  4. # 创建代码名称字典
  5. code_name_dict = {
  6.     'LP221': '完成',
  7.     'LP224': '未完成',
  8.     'LP324': '待确认'
  9. }

  10. # 根据代码列填充名称列
  11. df['名称'] = df['代码'].map(code_name_dict).fillna(df['名称'])

  12. # 输出结果
  13. print(df[['产品', '代码', '名称']])
复制代码


在这个修正后的代码中,我们使用`map()`函数根据字典将代码转换为对应的中文名称,并使用`fillna()`函数将NaN(空值)替换为原本的名称值。这样,无的情况就会保持为原来的“无”。

希望这次的解释和代码能够正确满足你的需求。如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-3 12:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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