[英]How can I copy columns from one excel sheet to another with python using openpyxl Library?
[英]Copy columns from one excel file to another excel file sheet using python
我有两张 excel 表格,我正在尝试使用 pandas 将内容从一张 excel 表格复制到另一张表格。
First_excel 工作表 -
Name Class City Date Misc Misc2 Blank Col
AA xxx 12 --
AA xx 32 --
BB yyyyy 54 --
BB zz 23 --
CC yy 54 --
CC ww 32 --
Second_excel 工作表 -
Name Class Date City
Tom Q,W 01-11-20 AA
Jerry W 05-03-19 AA
Don E,R 06-05-20 BB
Rob T,Y 02-01-20 BB
Mike W 05-03-18 CC
Ann O,p 04-09-20 CC
最终预期表 -
Name Class City Date Misc Misc2 Blank Col
Tom Q,W AA 01-11-20 xxx 12 --
Jerry W AA 05-03-19 xx 32 --
Don E,R BB 06-05-20 yyyyy 54 --
Rob T,Y BB 02-01-20 zz 23 --
Mike W CC 05-03-18 yy 54 --
Ann O,p CC 04-09-20 ww 32 --
df1 = pd.read_excel("new_excel_file.xlsx", sheet_name = "Sheet1")
df2 = pd.read_excel("new_excel_file.xlsx", sheet_name = "Sheet2")
result = pd.concat([df1,df2])
这是我得到的结果 dataframe
Name Class City Date Misc Misc2 Blank Col
0 NaN NaN AA NaT xxx 12.0 --
1 NaN NaN AA NaT xx 32.0 --
2 NaN NaN BB NaT yyyyy 54.0 --
3 NaN NaN BB NaT zz 23.0 --
4 NaN NaN CC NaT yy 54.0 --
5 NaN NaN CC NaT ww 32.0 --
0 Tom Q,W AA 2020-11-01 NaN NaN NaN
1 Jerry W AA 2019-03-05 NaN NaN NaN
2 Don E,R BB 2020-05-06 NaN NaN NaN
3 Rob T,Y BB 2020-01-02 NaN NaN NaN
4 Mike W CC 2018-03-05 NaN NaN NaN
5 Ann O,p CC 2020-09-04 NaN NaN NaN
我的想法是用df2
或 second_excel 在他们的位置上的实际值替换NaN
。 请帮我得到我预期的 output。
您可以使用fillna
合并具有相同名称的两列,然后 append 最后一列。 首先加载文件:
df1 = pd.read_excel("new_excel_file.xlsx", sheet_name = "Sheet1")
df2 = pd.read_excel("new_excel_file.xlsx", sheet_name = "Sheet2")
用 df2 填充 df1 中的空列:
fill = df1.fillna(df2[['Name', 'Class', 'Date']])
然后加入最后一列:
result = teste.join(df2[['City']])
由于您编辑了帖子,只需使用fill = df1.fillna(df2)
output:
Name Class City Date Misc Misc2 Blank Col
0 Tom Q,W AA 2020-11-01 00:00:00 xxx 12 --
1 Jerry W AA 2019-03-05 00:00:00 xx 32 --
2 Don E,R BB 2020-05-06 00:00:00 yyyyy 54 --
3 Rob T,Y BB 2020-01-02 00:00:00 zz 23 --
4 Mike W CC 2018-03-05 00:00:00 yy 54 --
5 Ann O,p CC 2020-09-04 00:00:00 ww 32 --
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.