python应用——用python实现对excel的查找替换
在excel里面用ctrl+F或者substitute()函数可以实现查找和替换操作。但这次用python试试读取excel并且查找和替换特定元素。简单整理了三种方式。
·
在excel里面用ctrl+F或者substitute()函数可以实现查找和替换操作。
但这次用python试试读取excel并且查找和替换特定元素。简单整理了几种方式。
情形1 在没有重复的情况下直接用replace
#导入pandas库
import pandas as pd
from pandas import DataFrame
#读取excel数据
path = 'D:\A USTC\lesson\Financial data analysis\问卷1.xlsx'
data1 = pd.read_excel(path, sheet_name='Sheet1', dtype=object)
用data.head()可以看一下导入表格的内容,如下图:
目的:要实现把“1、企业成立的年限是”列的1、2、3、4对应为“2年以内(不含2年)”、“2-5年”、“6-10年”、“11年以上”。
由于这里其他列不存在重复的1,2,3,4,用replace函数整个表格数据进行替换。
#进行查找和替换
data2=data1.replace(1,'2年以内(不含2年)')
data3=data2.replace(2, '2-5年')
data4=data3.replace(3, '6-10年')
data5=data4.replace(4, '11年以上')
看一下替换之后“1、企业成立的年限是”列数据已经完成修改,如下图:
最后,把数据导出到新的excel。
#输出数据为excel
DataFrame(data).to_excel(r'D:\A USTC\lesson\Financial data analysis\问卷2.xlsx', sheet_name='Sheet1', index=False, header=True)
情形2 每列数据都有重复情况替换特定列
方法1 简单的赋值语句
重新导入并读取“问卷.xlsx"数据。
#导入库并读取数据
import pandas as pd
from pandas import DataFrame
path = 'D:\A USTC\lesson\Financial data analysis\问卷.xlsx'
data = pd.read_excel(path, sheet_name='Sheet1', dtype=object)
data.head()
输入data看一下读取的数据。
用赋值语句进行替换,对指定列进行操作而不是对整个表格操作。
#替换特定列特定数字为对应信息,用赋值语句
data['1、企业成立的年限是:'][data['1、企业成立的年限是:'] == 1] = '2年以内(不含2年)'
data['1、企业成立的年限是:'][data['1、企业成立的年限是:'] == 2] = '2-5年'
data['1、企业成立的年限是:'][data['1、企业成立的年限是:'] == 3] = '6-10年'
data['1、企业成立的年限是:'][data['1、企业成立的年限是:'] == 4] = '11年以上'
看一下替换后结果:
替换完成,按情形一中代码写入新的excel即可。
2.方法2 用if筛选条件和赋值语句
前述代码不再重复,遍历第i行第6列数据进行查找替换,得到结果同上。
for i in range(108):
if data.iloc[i,6]==1:
data.iloc[i,6]='2年以内(不含2年)'
elif data.iloc[i,6]==2:
data.iloc[i,6]='2-5年'
elif data.iloc[i,6]==3:
data.iloc[i,6]='6-10年'
elif data.iloc[i,6]==4:
data.iloc[i,6]='11年以上'
更多推荐
已为社区贡献3条内容
所有评论(0)