【发布时间】:2022-11-03 23:01:14
【问题描述】:
我想从一个源excel文件的某些列中复制数据并将其放在第二个源excel文件的某些标题下,然后制作一个目标excel文件。我提供了所有 3 的图像。
我尝试过使用 pandas、NumPy 和 openyxl 库,但我只能准确地复制 excel 文件,而不是我需要的格式。我是否需要单独复制列,因为没有其他模式?
#importing python libraries
import pandas as pd
import numpy as np
#import openpyxl as xl
#reading source excel files and storing into two DataFrames
df1 = pd.read_excel('C:/Users/shaina.pearson/Documents/ACRS_Test_Case/NJII_Test_06_16_22.xlsx')
df2 = pd.read_excel('C:/Users/shaina.pearson/Documents/ACRS_Test_Case/NJII_ACRS_YYYYMMDD.xlsx')
#reading data by row
datax = []
def getRows(excel_file, sheet_name, start_row = 1):
excel_data = pd.read_excel(excel_file, sheet_name = sheet_name, header=None)
#print(excel_data)
size = excel_data.shape
#print(size)
row_num = size[0]
for i in range(start_row, row_num):
data = excel_data.iloc[i].values.tolist()
datax.append(data)
return datax
getRows("C:/Users/shaina.pearson/Documents/ACRS_Test_Case/NJII_Test_06_16_22.xlsx", "Resident Listing Report", 0)
a = np.array(datax)
#print(a[:,[0,1,2,4,6,9,13,14]])
df = pd.DataFrame(a[:,[0,1,2,4,6,9,13,14]], columns = ['A','B','C','D','E','F','G','H'])
#print(df)
#df.to_excel("C:/Users/shaina.pearson/Documents/ACRS_Test_Case/Test.xlsx")
df2 = df(pd.DataFrame(a[:,[0,1,2,4,6,9,13,14]], columns =['C','B','A','D','F','H','E','G']))
df2.to_excel("C:/Users/shaina.pearson/Documents/ACRS_Test_Case/Test.xlsx")
print(df2)
#print(type(df))
【问题讨论】:
-
pandas 和 numpy 都可能与此任务无关。
-
Example of Source and Destination File:你忘了附上数据? -
@BigBen 感谢您的评论。我是 openpyxl 的新手,无法弄清楚如何仅使用 openpyxl 将列值复制到现有 Excel 工作表的正确列中。
-
@Bhargav 谢谢,我附上了照片
-
move_range()?为什么?
标签: python excel pandas numpy openpyxl