如果在导入数据的时候只要指定的列表呢,以列标题为参数列表
时间: 2024-04-12 08:32:17 浏览: 13
如果你想根据列标题来指定需要导入的列,可以稍微修改一下代码。以下是一个根据列标题导入数据的示例:
```python
from openpyxl import load_workbook
def import_excel_data(file_path, sheet_name, column_titles):
workbook = load_workbook(file_path)
sheet = workbook[sheet_name]
data = []
title_row = next(sheet.iter_rows(values_only=True))
title_indices = [title_row.index(title) for title in column_titles]
for row in sheet.iter_rows(min_row=2, values_only=True):
data.append([row[idx] for idx in title_indices])
return data
# 调用函数导入指定列标题的数据
file_path = 'path/to/your/excel/file.xlsx' # 替换为你的Excel文件路径
sheet_name = 'Sheet1' # 替换为你的Sheet名称
column_titles = ['Title1', 'Title2', 'Title3'] # 替换为你要导入的列标题
data_list = import_excel_data(file_path, sheet_name, column_titles)
# 打印导入的数据
for row in data_list:
print(row)
```
在上述代码中,`import_excel_data`函数新增了一个`column_titles`参数,它接收一个包含要导入的列标题的列表。函数首先获取Excel表格中的第一行标题,并找到每个标题在行中的索引位置。然后,在迭代数据行时,根据这些索引从每一行中提取相应的值,构造新的列表并添加到`data`中。这样就只导入了指定的列数据。
同样,你需要将`file_path`、`sheet_name`和`column_titles`替换为你实际的Excel文件路径、Sheet名称和列标题列表。