excel表格1为316家公司名称,excel表格2为专利数据,现在需要使用Pycharm对excel表格2内的申请人列进行查询,如果申请人列公司名字在excel表格2中,则在excel表格2中生成一列新的名称
时间: 2023-03-28 17:04:10 浏览: 164
好的,我可以回答这个问题。您可以使用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文件中。
相关问题
excel表格2专利数据有一列的列名称为申请人。申请人可以为机构、学校、公司,也可以由机构、学校、公司共同作为申请人,数量不限制。excel表格1数据只有一列公司名称,列信息为316家公司名称。现在如何通过pycharm将excel1与exel2进行匹配?
可以使用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文件中。
用pycharm对excel表格处理
可以使用pycharm中的pandas库来对Excel表格进行处理。首先需要在pycharm中安装pandas库,可以通过在pycharm的Terminal中输入以下命令来安装:
```
pip install pandas
```
安装完成后,可以使用以下代码来读取Excel表格:
```python
import pandas as pd
# 读取Excel表格数据
df = pd.read_excel('example.xlsx')
# 打印表格的前5行数据
print(df.head())
```
可以通过修改`read_excel`函数中的参数来读取不同的Excel表格,例如读取第2个Sheet的数据:
```python
# 读取Excel表格第2个Sheet的数据
df = pd.read_excel('example.xlsx', sheet_name=1)
# 打印表格的前5行数据
print(df.head())
```
对于读取到的数据,可以使用pandas库提供的各种函数进行处理,例如筛选数据、排序、计算汇总等。在处理完成后,可以使用以下代码将数据保存到Excel表格中:
```python
# 将处理后的数据保存到Excel表格中
df.to_excel('output.xlsx', index=False)
```
其中`to_excel`函数的第一个参数指定保存的文件名,第二个参数`index=False`表示不保存行索引。
阅读全文