开发者社区> 问答> 正文

使用XL翼将1列从100个不同的Excel路径复制到1个Excel文件

wb=xw.Book()
for i in ripPaths:

 wbtemp=xw.Book(i)
 my_values=wbtemp.sheets['sheet1'].range('B5:B4722').options(ndim=2).value
 wb.sheets['sheet1'].range("A1:A4722").value=my_values

我试图使用for循环连续打开我磁盘上的100个excel文件,然后从每个文件中复制相同的列并将其粘贴到另一个excel文件中。问题是我一直在覆盖ColumnA。我需要第5行的A1:A4722通过excel列名增加到B,C,D。

目标是将我的100个excel文档分别用1列创建一个包含100个excel列的新excel文件。

展开
收起
一码平川MACHEL 2019-01-22 16:37:15 1877 0
1 条回答
写回答
取消 提交回答
  • 当然,这是我的看法。这类事物的信件很复杂,因为Excel可以从AZ循环,然后是AA-AZ等,但是:这是一个方法:

    wb=xw.Book()
    for i in range(len(ripPaths)):

     wbtemp=xw.Book(ripPaths[i])
     my_values=wbtemp.sheets['sheet1'].range('B5:B4722').options(ndim=2).value
     if i < 26:
        wb.sheets['sheet1'].range(f"{chr(65+i)}1:{chr(65+i)}4722").value=my_values
     elif i < 52:
        wb.sheets['sheet1'].range(f"A{chr(39+i)}1:A{chr(39+i)}4722").value=my_values
     elif i < 78:
        wb.sheets['sheet1'].range(f"B{chr(13+i)}1:B{chr(13+i)}4722").value=my_values
     elif i < 104:
        wb.sheets['sheet1'].range(f"C{chr(-13+i)}1:C{chr(-13+i)}4722").value=my_values

    这使用f字符串,如果您愿意,可以使用其他形式的字符串格式。

    2019-07-17 23:26:19
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载