鱼C论坛

 找回密码
 立即注册
查看: 1471|回复: 1

[已解决]为什么循环进行不下去?

[复制链接]
发表于 2020-9-29 18:21:23 | 显示全部楼层 |阅读模式
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')
最佳答案
2020-9-29 18:21:24
本帖最后由 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  就退出循环了

最佳答案

查看完整内容

你这里&是与的意思 相当于 (i
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-29 18:21:24 | 显示全部楼层    本楼为最佳答案   
本帖最后由 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  就退出循环了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 11:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表