参考
改之前
建立字典键值对映射 改完之后
映射规则
d = {1 :7 , 2 :6 , 3 : 3,4:1 ,5:2 ,6:8 ,7: 4,8: 5,9:11 ,10:9 ,11:10 }
完整代码:
# -*- coding:utf-8 -*-
import pandas as pd
#解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.east_asian_width', True)
df1=pd.read_excel('讯飞—刘老师.xlsx',usecols=[1]) #通过指定列索引号导入第0列
print(type(df1))
#遍历DataFrame表格数据的每一列
for col in df1.columns:
series = df1[col]
# 可以看到返回的是series对象
#print(series)
print(type(series))
#根据字典做一个映射
d = {1 :7 , 2 :6 , 3 : 3,4:1 ,5:2 ,6:8 ,7: 4,8: 5,9:11 ,10:9 ,11:10 }
new_list=[]
#根据传入的val值返回字典对应的key,这一步完成了映射
def return_key(val):
for key, value in d.items():
if value==val:
return key
#遍历series的值,把值对应的key添加到新的列表中,得到了映射后的列表。
for value in series.values:
temp=return_key(value)
#print(temp)
new_list.append(temp)
#得到映射后的列表赋值给df对象,便于后面的to_excel方法写入
df1.iloc[:,0]=new_list
#测试是否成功修改
for col in df1.columns:
s = df1[col]
# 可以看到返回的是series对象
print(s)
#可以看到已完成根据字典的映射,那么最后一步 写入即可
df1.to_excel('讯飞—刘老师.xlsx', sheet_name="sheet1", index=False)