遍历excel文件和表格并在Python中连接

时间:2019-05-08 03:13:55

标签: python pandas dataframe concatenation

说我有一个文件夹,其中包含多个扩展名为xlsxxls的excel文件,它们共享相同的标题列a, b, c, d, e,但几个文件中有一些空白表。

我想遍历所有文件和工作表(空工作表除外),并将它们连接到一个文件output.xlsx的一个工作表中。

我已经遍历了所有excel文件并将它们附加到一个文件中,但是如果每个文件有多个工作表,那么我如何遍历每个文件的所有工作表呢?

我需要将下面的两个代码块集成为一个。感谢您的帮助。

import pandas as pd
import numpy as np
import glob

path = os.getcwd()
files = os.listdir(path)
files

df = pd.DataFrame()

# method 1

excel_files = [f for f in files if f[-4:] == 'xlsx' or f[-3:] == 'xls']
excel_files

for f in excel_files:
    data = pd.read_excel(f)
    df = df.append(data)

# method 2

for f in glob.glob("*.xlsx" or "*.xls"):
    data = pd.read_excel(f)
    df = df.append(data, ignore_index=True)

# save the data frame
writer = pd.ExcelWriter('output.xlsx')
df.to_excel(writer, 'sheet1')
writer.save()

对于一个文件可以连接多张纸:

file = pd.ExcelFile('file.xlsx')

names = file.sheet_names  # read all sheet names

df = pd.concat([file.parse(name) for name in names])

1 个答案:

答案 0 :(得分:1)

setTimeout(() => {
    this.setState({
          // your new flag here
    })
}, 0);