我有一个只有一行的 Excel 标题文件 (header.xlsx),以及一个包含多行的 Excel 表格文件 (station.xlsx)。
目的是从(station.xlsx)中提取第一行,然后将提取的第一行附加到(header.xlsx),然后将它们保存为名为(1.xlsx)的新Excel文件。
之后,我想从(station.xlsx)中提取第二行,然后将提取的第二行附加到(header.xlsx),然后将它们另存为(2.xlsx)。
之后,我想从(station.xlsx)中提取第三行,然后将提取的第三行附加到(header.xlsx),然后将它们另存为(3.xlsx)...
循环将继续,直到从 (station.xlsx) 中提取 167 行,并分别追加并另存为新的 Excel 文件。
# import module
import os
import openpyxl
# load excel with its path
wrkbk1 = openpyxl.load_workbook(r"C:\Users\kxz237\Desktop\test\header.xlsx")
sh1 = wrkbk1.active
wrkbk2 = openpyxl.load_workbook(r"C:\Users\kxz237\Desktop\test\stations.xlsx")
sh2 = wrkbk2.active
# iterate through excel and display data
for i in range(1, sh2.max_row+1):
output_file = r'C:\Users\kxz237\Desktop\test\i.xlsx'
sh1.append(sh2.row_values(i))
wrkbk1.save(output_file)
它显示“TabError:缩进中制表符和空格的使用不一致”
你能帮我修复Python代码吗?
附上我的原始 Excel 文件。在此处输入链接说明
熊猫很容易:
import pandas as pd
header = pd.read_excel(r"test\header.xlsx")
df = pd.read_excel(r"test\stations.xlsx", header=None)
for i in df.index:
df.loc[i,:].to_frame().T.to_excel(f'test/{i}.xlsx')