|
15鱼币
程序完成的功能是把一个文件夹里的所有excel表格的第三列 都copy出来 粘贴到另外一个文件夹下的唯一一个excel表格中,即新excel表格中的每一列数据(从第三列开始)分别来自源文件的第三列。
我再pycharm里编写的, 第一次编写的是处理30个excel的表格的, 达到目的。随后把代码复制一份,修改了路径,新建了一个python, 处理45个表格,i<45 但是这个新的程序只算到i=13就停止了,请大家帮我看下 这是什么原因,谢谢。
- import os
- import openpyxl
- from openpyxl import Workbook
- from openpyxl import load_workbook
- import os
- import openpyxl
- from openpyxl import Workbook
- from openpyxl import load_workbook
- path = r'C:\Users\gaoqiang5\Desktop\mmW_E_Raw\CDF\M0_CDF_xlsx\Dual_Beam'
- Beam_file = os.listdir(path)
- CDF = load_workbook('C:\\Users\\gaoqiang5\\Desktop\\mmW_E_Raw\\CDF\\M0_CDF_calcu\\Dual_Beam\\EIRP_all_dual_beam.xlsx')
- CDF_sheet = CDF['Sheet1']
- sheet = CDF.active
- k=3
- i=0
- while i< 45 & k< 46:
- print(Beam_file[i]) #一次调取源文件夹中的excel
- dir_path = 'C:\\Users\\gaoqiang5\\Desktop\\mmW_E_Raw\\CDF\\M0_CDF_xlsx\\Dual_Beam\\'
- dir_path = dir_path + Beam_file[i]
- print(dir_path)
- Beam_Raw= load_workbook(dir_path)
- sh_name = Beam_Raw.sheetnames
- Beam_Raw_sheet = Beam_Raw[sh_name[0]]
- sheet = Beam_Raw.active
- a = sheet.max_row
- a = a+1
- print(a)
- j = 1 #数据行
- Beam_Raw_i = []
- while j < a :
- Beam_Raw_i.insert(j-1, Beam_Raw_sheet.cell(j+1,3).value)
- #print(Beam_Raw_i[j-1])
- CDF_sheet.cell(j+1,k).value = Beam_Raw_i[j-1]
- j=j+1
- k=k+1
- i=i+1
- print(i)
- print(k)
- CDF.save('C:\\Users\\gaoqiang5\\Desktop\\mmW_E_Raw\\CDF\\M0_CDF_calcu\\Dual_Beam\\EIRP_all_dual_beam.xlsx')
复制代码
本帖最后由 lirenbing01 于 2020-9-30 10:10 编辑
- while i< 45 & k< 46:
- 把k<46删掉
复制代码
你这里&是与的意思
相当于 (i<45)and(45&k)and(k<46)
当你k=16的时候 45&16=0 就退出循环了
|
|