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文件。
当然,这是我的看法。这类事物的信件很复杂,因为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字符串,如果您愿意,可以使用其他形式的字符串格式。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。