pandas匹配两个excel某列的信息,只要有相同的字符,保存到一个excel中
时间: 2024-03-08 16:46:21 浏览: 85
可以使用pandas库来实现这个需求。具体步骤如下:
1. 首先,使用pandas库中的read_excel()方法读取两个excel文件中的数据,将它们分别存储到两个DataFrame对象中。
```python
import pandas as pd
df1 = pd.read_excel('file1.xlsx')
df2 = pd.read_excel('file2.xlsx')
```
2. 接下来,使用pandas库中的str.extract()方法对两个DataFrame对象的指定列进行正则表达式匹配,并将匹配到的结果存储到一个新的DataFrame对象中。
```python
# 在df1的“列1”中匹配所有以“apple”开头的字符串
result1 = df1[df1['列1'].str.extract('^apple', expand=False).notnull()]
# 在df2的“列2”中匹配所有以“apple”开头的字符串
result2 = df2[df2['列2'].str.extract('^apple', expand=False).notnull()]
```
3. 最后,使用pandas库中的to_excel()方法将匹配到的结果保存到一个新的excel文件中。
```python
# 将匹配到的结果保存到一个新的excel文件中
with pd.ExcelWriter('result.xlsx') as writer:
result1.to_excel(writer, sheet_name='Sheet1', index=False)
result2.to_excel(writer, sheet_name='Sheet2', index=False)
```
完整代码如下:
```python
import pandas as pd
# 读取两个excel文件中的数据
df1 = pd.read_excel('file1.xlsx')
df2 = pd.read_excel('file2.xlsx')
# 在df1的“列1”中匹配所有以“apple”开头的字符串
result1 = df1[df1['列1'].str.extract('^apple', expand=False).notnull()]
# 在df2的“列2”中匹配所有以“apple”开头的字符串
result2 = df2[df2['列2'].str.extract('^apple', expand=False).notnull()]
# 将匹配到的结果保存到一个新的excel文件中
with pd.ExcelWriter('result.xlsx') as writer:
result1.to_excel(writer, sheet_name='Sheet1', index=False)
result2.to_excel(writer, sheet_name='Sheet2', index=False)
```
注意:这段代码中的“列1”和“列2”需要根据实际情况进行替换。另外,如果要匹配不同的正则表达式,只需要在str.extract()方法的参数中使用不同的正则表达式即可。
阅读全文