在工作中总会遇到要处理excel,例如要取excel中的某几列数据,如果一列一列自己粘也没问题,但是如果要处理的文件太多就用代码来实现吧。
在python中第一列是0,所以我这里传的时候是把第一列当做1来传的,定义的read_excel中做了-1处理。下图代码中提取excel其中2列,如果是多的就对应增加几个df。
import pandas
def read_excel(excel_path, columns):
df = pandas.read_excel(excel_path, engine='openpyxl')
cul = df.iloc[:, columns - 1]
return cul
if __name__ == '__main__':
excel_path = './data/excel文件.xlsx'
out_path = '../reporterCounts/datacase/out1.xlsx'
df1 = read_excel(excel_path, 10)
df2 = read_excel(excel_path, 17)
# df3 = read_excel(excel_path, 10)
# df4 = read_excel(excel_path, 17)
# df5 = read_excel(excel_path, 19)
# df6 = read_excel(excel_path, 10)
with pandas.ExcelWriter(out_path) as writer:
df1.to_excel(writer, sheet_name='Sheet1', index=False)
df2.to_excel(writer, sheet_name='Sheet1', startcol=1, index=False)
# df3.to_excel(writer, sheet_name='Sheet1', startcol=2, index=False)
# df4.to_excel(writer, sheet_name='Sheet1', startcol=3, index=False)
# df5.to_excel(writer, sheet_name='Sheet1', startcol=4, index=False)
# df6.to_excel(writer, sheet_name='Sheet1', startcol=5, index=False)