程序完成,但我收到这样的警告:“太多的输出处理”

我目前正在使用Python和PyQt创buildExcel过滤工具。 目标是能够过滤出学生的GPA,并根据他们的年级和GPA的截止值输出一定的结果。

当我在我的IDE上运行程序PyCharm程序运行过滤并运行完成,我能够输出过滤结果,但是在这个过程中,我收到错误“太多的输出到进程”。 我尝试使用Cx_freeze在IDE外部构build我的程序,当我运行exe版本时,程序将只通过filter运行几行excel文件,然后停止。 我相信这是由于我以前的错误,我会得到在Excel文件中的太多的文本行。

我的excel文件有大约6000行数据和16列。

这是代码的一部分:

def filterCommand(self): global workbook2 wb = xlrd.open_workbook(defaultName) sheet = wb.sheet_by_index(0) workbook2 = xlwt.Workbook() worksheet2 = workbook2.add_sheet('Test') styles = xlwt.easyxf('pattern: pattern solid, fore_colour yellow') #Then get values of each column. Excuse first item which is header term = sheet.col_values(0)[1:] ids = sheet.col_values(1)[1:] fnames = sheet.col_values(3)[1:] lnames = sheet.col_values(2)[1:] gender = sheet.col_values(4)[1:] zero = sheet.col_values(5)[1:] acadgroup = sheet.col_values(6)[1:] acadprog = sheet.col_values(7)[1:] status = sheet.col_values(9)[1:] strtlevel = sheet.col_values(10)[1:] acaplan = sheet.col_values(8)[1:] credits = sheet.col_values(12)[1:] GPA = sheet.col_values(11)[1:] fiucredits = sheet.col_values(13)[1:] transferc = sheet.col_values(14)[1:] takeprgrs = sheet.col_values(15)[1:] type1 = sheet.col_values(16)[1:] email1 = sheet.col_values(17)[1:] type2 = sheet.col_values(18)[1:] email2 = sheet.col_values(19)[1:] phone = sheet.col_values(20)[1:] ethnicgroup = sheet.col_values(21)[1:] firstgen = sheet.col_values(22)[1:] newrow = sheet.nrows header = [] for i in range(0, 1): rowheader = sheet.row_values(i) header.extend(rowheader) print header[0] for ind, key in enumerate(header): worksheet2.write(0, ind, key) row = 1 for index, row_data in enumerate(credits): grade_level = row_data gpa_level = GPA[index] # row_data[index] = float(credits) # worksheet2.write_column(row, 0, row_data) # Check for rows that match the filter. print gpa_level print grade_level if grade_level >= 90.0: print fnames[index] + '\t' + lnames[index] + '\t' + ": Senior" if gpa_level >= 3.2: #Do Filtering print '\t' + "Allowed" row += 1 pass else: print '\t' + "not allowed" # worksheet2.set_row(row, None, None, {'hidden': True}) elif (grade_level <= 89.0 and grade_level >= 60.0): print fnames[index] + '\t' + lnames[index] + '\t' + ": Junior" if gpa_level >= 3.0: #Do Filtering print '\t' + "Allowed" row += 1 pass else: print '\t' + "not allowed" # worksheet2.set_row(row, options={'hidden': True}) elif (grade_level <= 59.0 and grade_level >= 30.0): print fnames[index] + '\t' + lnames[index] + '\t' + ": Sophomore" if gpa_level >= 2.7: #Do Filtering print '\t' + "Allowed" row += 1 pass else: print '\t' + "not allowed" # worksheet2.set_row(row, options={'hidden': True}) elif grade_level < 30.000: print fnames[index] + '\t' + lnames[index] + '\t' + ": Freshmen" if gpa_level >= 2.5: #Do Filtering print '\t' + "Allowed" row += 1 pass else: print '\t' + "not allowed" 

这是我的Excel表单看起来像:

excel3

我怎么能解决这个问题,因为我不知道为什么它在IDE中,但不是在.exe中

借口。 作为回报的一个问题:您是否听说过ISO:OSI堆栈? 例如: ISO:OSI堆栈 。

最有可能的可用代码页确实改变了。 你会遇到这样的问题造成的错误。 在IDE中,堆栈被控制。 在运行环境中不是。

本文可能已经解决了您的问题: Python套接字编程和ISO-OSI模型

其他types的问题可能是RTF-8。 如果这不是正确的解释方式Excel电子表格中的Excel控制序列充当病毒或仅仅是溢出的原因。

导出包含UTF-8文本和URL的文本列的pandas数据框到Excel

Python程序员的一个非常古老的规则是aviod原生的微软格式。 你最好使用与RTF-8等编解码器直接相关的文本格式。 由于mircosoft格式策略的改变,这种情况最近只发生了一些变化。

希望有所帮助。