python应用——用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年以上'

Python中,你可以使用pandas库来读取和处理Excel文件。一种常见的方法是使用`read_excel()`函数来读取Excel文件并将其转换为DataFrame对象,然后使用DataFrame的方法来进行查找替换操作。 对于情形1,如果你想在没有重复数据的情况下直接使用`replace()`函数来查找替换特定元素,你可以先使用`read_excel()`函数读取Excel文件,然后使用DataFrame的`replace()`方法进行替换操作,最后使用`to_excel()`方法将数据导出到新的Excel文件中。 对于情形2,如果每列数据都有重复情况,你可以使用上述相似的方法读取Excel文件并创建DataFrame对象,然后使用DataFrame的方法来处理特定列的替换操作。 示例代码如下: 情形1: ```python import pandas as pd # 读取Excel文件 data1 = pd.read_excel('D:\A USTC\lesson\Financial data analysis\问卷1.xlsx', sheet_name='Sheet1') # 使用replace()函数查找替换特定元素 data1_replaced = data1.replace({'old_value': 'new_value'}, inplace=False) # 导出数据到新的Excel文件 data1_replaced.to_excel('D:\A USTC\lesson\Financial data analysis\问卷2.xlsx', sheet_name='Sheet1', index=False, header=True) ``` 情形2: ```python import pandas as pd # 读取Excel文件 data = pd.read_excel('D:\A USTC\lesson\Financial data analysis\问卷.xlsx', sheet_name='Sheet1') # 处理特定列的替换操作 data['column_name'] = data['column_name'].replace({'old_value': 'new_value'}) # 输出替换后的数据 print(data.head()) ``` 请注意,以上代码中的`'old_value'`和`'new_value'`需要替换为你要查找替换的实际值,`'column_name'`需要替换为你要处理的特定列的列名。另外,记得替换路径为你实际的Excel文件路径。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python应用——用python实现excel查找替换](https://blog.csdn.net/weixin_49249463/article/details/127208459)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值