微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 使用pandas组合/合并2个不同的Excel文件/工作表

我试图结合2个不同的Excel文件. (感谢帖子Import multiple excel files into python pandas and concatenate them into one dataframe)

我到目前为止的工作是:

import os
import pandas as pd

df = pd.DataFrame()

for f in ['c:\\file1.xls', 'c:\\ file2.xls']:
    data = pd.read_excel(f, 'Sheet1')
    df = df.append(data)

df.to_excel("c:\\all.xls")

这是他们的样子.

但是我想:

>排除每个文件的最后一行(即File1.xls中的row4和row5; File2.xls中的row7和row8).
>添加一列(或覆盖列A)以指示数据的来源.

例如:

可能吗?谢谢.

解决方法:

对于num. 1,你可以指定skip_footer,如here所述;或者,或者做

data = data.iloc[:-2]

一旦你读了数据.

对于num. 2,你可以这样做:

from os.path import basename
data.index = [basename(f)] * len(data)

另外,最好将所有数据帧放在一个列表中,然后在最后将它们连接起来;就像是:

df = []
for f in ['c:\\file1.xls', 'c:\\ file2.xls']:
    data = pd.read_excel(f, 'Sheet1').iloc[:-2]
    data.index = [os.path.basename(f)] * len(data)
    df.append(data)

df = pd.concat(df)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐