Excel表格中第一列列名是‘证券简称’,第二列列名是‘年份’,如何利用python从文件夹中筛选出所有满足Excel表格中第一列和第二列内容的PDF文件
时间: 2024-02-22 11:58:37 浏览: 122
首先,需要使用Python中的pandas和os模块。下面是代码示例:
``` python
import pandas as pd
import os
# 读取Excel表格
df = pd.read_excel('your_excel_file.xlsx')
# 获取需要匹配的列名
col1 = df.columns[0]
col2 = df.columns[1]
# 获取文件夹中所有PDF文件
pdf_files = [f for f in os.listdir('your_folder_path') if f.endswith('.pdf')]
# 筛选符合条件的PDF文件
matched_files = []
for file in pdf_files:
name, year = file.split('_') # 假设PDF文件名为“证券简称_年份.pdf”
if name in df[col1].values and year[:-4] in df[col2].values:
matched_files.append(file)
# 打印符合条件的PDF文件名列表
print(matched_files)
```
在上述代码中,我们首先使用pandas模块读取Excel表格数据,并获取需要匹配的列名。然后使用os模块获取文件夹中所有PDF文件名,并在循环中判断每个文件名是否符合条件。最后将符合条件的文件名添加到一个列表中并打印出来。
相关问题
Python打开Excel在一列中写入列名
下面是一个示例代码,用于打开一个Excel文件并在指定列中写入列名:
```python
import openpyxl
# 打开指定的Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 获取指定的工作表
worksheet = workbook['Sheet1']
# 在第一列(A列)中写入列名
worksheet.cell(row=1, column=1, value='Column Name')
# 保存Excel文件
workbook.save('example.xlsx')
```
在这个例子中,我们使用openpyxl库打开名为"example.xlsx"的Excel文件,并在第一列(A列)中写入列名"Column Name"。然后,我们将文件保存回原始文件中。
两个excel表,两个表中具有相同的三列,第一列列名是NO.,第二列名是X,第三列名是Y,比较两表中的第二列数值,如果第二列数值相同,则比较第三列数值,如果第三列数值也相同,则输出第二列的值和第三列的值到新的excel表中,并输出该文件
你可以使用Python中的pandas库来实现这个任务。下面是一个示例代码:
```python
import pandas as pd
# 读取两个Excel表
df1 = pd.read_excel('表1.xlsx')
df2 = pd.read_excel('表2.xlsx')
# 根据第二列和第三列进行匹配
merged_df = pd.merge(df1, df2, on=['X', 'Y'])
# 输出匹配结果到新的Excel表
merged_df.to_excel('匹配结果.xlsx', index=False)
```
请将 '表1.xlsx' 和 '表2.xlsx' 替换为你实际的文件名。运行代码后,匹配结果将保存为一个名为 '匹配结果.xlsx' 的Excel文件。
请注意,你需要在运行代码之前确保已经安装了pandas库。你可以使用以下命令来安装它:
```
pip install pandas
```
阅读全文