繁体   English   中英

如何从两个excel文件中读取数据并将所有数据合并到新的excel文件中

[英]How to read data from two excel files and union all that data from into new excel file

我有2个具有相同列名的excel文件。 我想将所有数据UNION到新的excel文件中。

脚本:

import pandas as pd
from xlwt import Workbook
import xlwt
book = Workbook()
sheet1 = book.add_sheet('Sheet 1')

# Read the excel sheet to pandas dataframe
df1 = pd.read_excel("H:\Learning\Mohan.xlsx", sheet_name=0)
df2 = pd.read_excel("H:\Learning\Manasa.xlsx", sheet_name=0)
df1 = pd.concat([df1, df2], axis=1, ignore_index=True)
print(df1)
book.save('H:\Learning\New.xlsx')

它是这样的:

           0  1          2    3
0 2019-05-28  D 2019-05-28    Z
1 2019-05-28  A 2019-05-28    K
2 2019-05-28  B 2019-05-28    F
3 2019-05-27  A        NaT  NaN
4 2019-05-27  B        NaT  NaN
5 2019-05-27  C        NaT  NaN
6 2019-05-26  A        NaT  NaN
7 2019-05-26  B        NaT  NaN
8 2019-05-26  C        NaT  NaN

输出:

     0         1    
0  2019-05-28  D 
1  2019-05-28  A 
2  2019-05-28  B 
3  2019-05-27  A 
4  2019-05-27  B 
5  2019-05-27  C 
6  2019-05-26  A 
7  2019-05-26  B 
8  2019-05-26  C 
9  2019-05-28  Z
10 2019-05-28  Z
11 2019-05-28  K
12 2019-05-28  F

这个输出应该保存到新的excel文件中

您的代码中存在误导: df1 = pd.concat([df1, df2], axis=1, ignore_index=True)必须为axis=0或者您移除轴,然后可以使用df1.to_excel('H:\\Learning\\Mohan2.xlsx')导出它df1.to_excel('H:\\Learning\\Mohan2.xlsx')

要将多个Excel文件中的所有数据合并到一个文件中,请尝试以下概念。

import pandas as pd
import numpy as np

import glob
glob.glob("C:\\your_path\\*.xlsx")

all_data = pd.DataFrame()
for f in glob.glob("C:\\your_path\\*.xlsx"):
    df = pd.read_excel(f)
    all_data = all_data.append(df,ignore_index=True)
    print(all_data)
    df = pd.DataFrame(all_data)
    df.shape
    df.to_excel("C:\\your_path\\final.xlsx", sheet_name='Sheet1')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM