python 批量操作Excel中某列代码,对应的代码名称
产品 代码 代码 名称
A LP221 LP221 完成
B LP24 LP224 未完成
C 无 LP324 待确认
D LP324
如果代码列为无,代码列默认无,如果代码列为字母加数字显示为中文名称
最终显示结果为
产品 代码
A 完成
B 未完成
C 无
D 待确认 好的,我来给你提供一个可以实现这个功能的Python代码:
import pandas as pd
# 读取Excel文件
df = pd.read_excel('your_file.xlsx')
# 创建代码名称字典
code_name_dict = {
'LP221': '完成',
'LP224': '未完成',
'LP324': '待确认'
}
# 根据代码列填充名称列
df['名称'] = df['代码'].map(code_name_dict)
df.loc.isnull(), '名称'] = '无'
# 输出结果
print(df[['产品', '代码', '名称']])
这段代码首先读取Excel文件,然后创建了一个代码和名称的对应字典。接下来,使用`map()`函数根据代码列填充名称列。对于代码列为空的行,直接填充为'无'。最后输出包含产品、代码和名称三列的结果。
这种方法非常灵活,如果需求有变,只需要修改代码和名称的对应关系即可。希望这个代码对你有帮助,如果还有什么不明白的可以继续问我。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2024-5-20 17:50
好的,我来给你提供一个可以实现这个功能的Python代码:
无没有显示,直接显示空白 冰菲 发表于 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 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2024-5-20 18:37
非常抱歉,我在之前的代码中确实有错误。我们需要将“无”替换为“代码列默认值”,即空字符串。下面是 ...
代码的变成了中文名称,但是原来的“无”,没有了 冰菲 发表于 2024-05-21 10:29
代码的变成了中文名称,但是原来的“无”,没有了
非常抱歉之前的回答有误导。以下是修正后的代码:
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[['产品', '代码', '名称']])
在这个修正后的代码中,我们使用`map()`函数根据字典将代码转换为对应的中文名称,然后使用`fillna()`函数将NaN(空值)替换为默认值'无'。最后,我们只输出包含'产品'、'代码'和'名称'三列的结果。
希望这次的解释和代码能够正确满足你的需求。如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2024-5-21 10:29
非常抱歉之前的回答有误导。以下是修正后的代码:
代码不全的情况下,我想要的是代码匹配不到的显示未知,无的仍然显示无 冰菲 发表于 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 == '无', '名称'] = '无'
# 输出结果
print(df[['产品', '名称']])
在这个修正后的代码中,我们使用`map()`函数根据字典将代码转换为对应的中文名称,然后使用`fillna()`函数将NaN(空值)替换为默认值'未知'。同时,我们使用`loc`函数将代码列为'无'的行的名称列修改为'无'。最后,我们只输出包含'产品'和'名称'两列的结果。
希望这次的解释和代码能够正确满足你的需求。如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2024-5-21 10:33
非常抱歉之前的回答依然有误导。以下是修正后的代码:
import pandas as pd
无还是显示未知 冰菲 发表于 2024-05-21 10:38
无还是显示未知
非常抱歉,之前还是有些错误。以下是修正后的代码:
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['名称'])
# 输出结果
print(df[['产品', '代码', '名称']])
在这个修正后的代码中,我们使用`map()`函数根据字典将代码转换为对应的中文名称,并使用`fillna()`函数将NaN(空值)替换为原本的名称值。这样,无的情况就会保持为原来的“无”。
希望这次的解释和代码能够正确满足你的需求。如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]