excel表格2专利数据有一列的列名称为申请人。申请人可以为机构、学校、公司,也可以由机构、学校、公司共同作为申请人,数量不限制。excel表格1数据只有一列公司名称,列信息为316家公司名称。现在如何通过pycharm将excel1与exel2进行匹配?
时间: 2023-03-28 19:04:15 浏览: 98
可以使用Python中的pandas库来实现excel1与excel2的匹配。首先,读取excel1和excel2的数据,然后使用pandas的merge函数将两个表格按照申请人或公司名称进行合并。具体代码如下:
```python
import pandas as pd
# 读取excel1和excel2的数据
df1 = pd.read_excel('excel1.xlsx')
df2 = pd.read_excel('excel2.xlsx')
# 将两个表格按照申请人或公司名称进行合并
result = pd.merge(df1, df2, on='申请人', how='left')
# 将结果保存到新的excel文件中
result.to_excel('result.xlsx', index=False)
```
其中,on参数指定按照申请人进行合并,how参数指定使用左连接方式,即以excel1为基础表格,将excel2中的数据合并到excel1中。最后,将合并后的结果保存到新的excel文件中。
相关问题
excel表格1为316家公司名称,excel表格2为专利数据,现在需要使用Pycharm对excel表格2内的申请人列进行查询,如果申请人列公司名字在excel表格2中,则在excel表格2中生成一列新的名称
好的,我可以回答这个问题。您可以使用Python的pandas库来读取和处理Excel文件。您可以使用pandas的merge函数将两个表格按照申请人列进行合并,然后使用apply函数来判断申请人列是否包含在公司名称列中,如果是,则在新列中生成公司名称。具体代码可以参考以下示例:
```python
import pandas as pd
# 读取Excel文件
df1 = pd.read_excel('excel表格1.xlsx')
df2 = pd.read_excel('excel表格2.xlsx')
# 合并两个表格
merged_df = pd.merge(df1, df2, on='申请人')
# 判断申请人列是否包含在公司名称列中
def check_company(row):
if row['公司名称'] in row['申请人']:
return row['公司名称']
else:
return ''
merged_df['新的名称'] = merged_df.apply(check_company, axis=1)
# 保存结果到Excel文件
merged_df.to_excel('结果.xlsx', index=False)
```
这个代码可以将两个Excel表格按照申请人列进行合并,并在新的表格中生成一个新的名称列,如果申请人列包含在公司名称列中,则在新的名称列中生成公司名称,否则为空。最后将结果保存到Excel文件中。
阅读全文