pandas读取多个excel文件,第一行是表头则设置成表头,第一行不是表头,则不设置
时间: 2023-09-06 18:09:36 浏览: 342
可以使用 `pandas` 的 `read_excel` 方法来读取多个 Excel 文件,然后根据第一行是否为表头来设置表头。
以下是一个示例代码,假设有两个 Excel 文件 `file1.xlsx` 和 `file2.xlsx`,需要读取这两个文件并将它们合并成一个 DataFrame:
```python
import pandas as pd
import os
# 定义一个空 DataFrame
df = pd.DataFrame()
# 循环读取每个 Excel 文件
for file in os.listdir():
if file.endswith('.xlsx'):
# 读取 Excel 文件的第一行
first_row = pd.read_excel(file, nrows=1, header=None)
# 如果第一行是表头,则设置表头
if first_row.values[0][0] == '表头1':
df = pd.concat([df, pd.read_excel(file, header=0)], ignore_index=True)
elif first_row.values[0][0] == '表头2':
df = pd.concat([df, pd.read_excel(file, header=0)], ignore_index=True)
else:
df = pd.concat([df, pd.read_excel(file)], ignore_index=True)
```
在这个示例中,`os.listdir()` 方法用来获取当前目录下的所有文件,然后根据文件名的后缀是否为 `.xlsx` 来判断该文件是否为 Excel 文件。`pd.read_excel` 方法用来读取 Excel 文件,并且使用 `nrows=1` 参数来只读取第一行,然后使用 `header=None` 参数来不设置表头。如果第一行的值为 '表头1' 或 '表头2',则设置表头为第一行的值,否则不设置表头。最后使用 `pd.concat` 方法将所有读取的数据合并到一个 DataFrame 中。
阅读全文