openpyxl.load__workbook(filename)报错ValueError: Max value is 52

openpyxl.load__workbook(filename)报错ValueError: Max value is 52,但是只有个别表格会出现报错,什么原因?

import openpyxl
filename="测试2.xlsx"#读取excel
workbook=openpyxl.load_workbook(filename,data_only=True)
worksheet=workbook.get_sheet_by_name("Sheet1")

报错信息如下:

 File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\reader\excel.py", line 314, in load_workbook
    reader.read()
  File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\reader\excel.py", line 279, in read
    self.read_worksheets()
  File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\reader\excel.py", line 254, in read_worksheets
    charts, images = find_images(self.archive, rel.target)
  File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\reader\drawings.py", line 27, in find_images
    drawing = SpreadsheetDrawing.from_tree(tree)
  File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\descriptors\serialisable.py", line 87, in from_tree
    obj = desc.expected_type.from_tree(el)
  File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\descriptors\serialisable.py", line 87, in from_tree
    obj = desc.expected_type.from_tree(el)
  File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\descriptors\serialisable.py", line 87, in from_tree
    obj = desc.expected_type.from_tree(el)
  [Previous line repeated 3 more times]
  File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\descriptors\serialisable.py", line 103, in from_tree
    return cls(**attrib)
  File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\drawing\text.py", line 115, in __init__
    self.pitchFamily = pitchFamily
  File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\descriptors\base.py", line 108, in __set__
    super(Min, self).__set__(instance, value)
  File "C:\Users\mayn\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\descriptors\base.py", line 87, in __set__
    raise ValueError('Max value is {0}'.format(self.max))
ValueError: Max value is 52

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
openpyxl复制merged_cells后,合并的单元格只有最左上角有边框,如何修补?

想把一个完整的worksheet复制到新的文件中,但所有合并单元格都只剩下左上角的边框,其它边框丢失了,怎样才能修补回来? 版本python3.8+openpyxl3.0.3 试过论谈里的修改workbook.py或者patch_worksheet()打补丁都无效 ``` def add_sheet_with_format(targetbk, sourcesheet): ws = sourcesheet ws2 = targetbk.create_sheet() max_row=ws.max_row #最大行数 max_column=ws.max_column #最大列数 m_list=ws.merged_cells #合并单元格的位置信息,可迭代对象(单个是一个'openpyxl.worksheet.cell_range.CellRange'对象),print后就是excel坐标信息 mergedcellqty=len(ws.merged_cells.ranges) if mergedcellqty>0 : cr = [] for m_area in m_list: # 合并单元格的起始行坐标、终止行坐标。。。。, r1, r2, c1, c2 = m_area.min_row, m_area.max_row, m_area.min_col, m_area.max_col # 纵向合并单元格的位置信息提取出 if r2 - r1 >= 0: cr.append((r1, r2, c1, c2)) #print('符合条件%s' % str(m_area)) for r in cr: ws2.merge_cells(start_row=r[0], end_row=r[1], start_column=r[2], end_column=r[3]) for m in range(1,max_row + 1): ws2.row_dimensions[m].height = ws.row_dimensions[m].height for n in range(1,1 + max_column): if n<27 : c=chr(n+64).upper() #ASCII字符,chr(65)='A' else: if n < 677 : c=chr(divmod(n,26)[0]+64)+chr(divmod(n,26)[1]+64) else: c=chr(divmod(n,676)[0]+64) + chr(divmod(divmod(n,676)[1],26)[0]+64) + chr(divmod(divmod(n,676)[1],26)[1]+64) i='%s%d'%(c,m) #单元格编号 if m == 1 : ws2.column_dimensions[c].width = ws.column_dimensions[c].width try: cell1=ws[i] #获取data单元格数据 ws2[i].value=cell1.value #赋值到ws2单元格 if cell1.has_style: #拷贝格式 ws2[i].font = copy(cell1.font) ws2[i].border = copy(cell1.border) ws2[i].fill = copy(cell1.fill) ws2[i].number_format = copy(cell1.number_format) ws2[i].protection = copy(cell1.protection) ws2[i].alignment = copy(cell1.alignment) except AttributeError as e: print("cell(%s) is %s" % (i,e)) continue ``` 原文件 ![图片说明](https://img-ask.csdn.net/upload/202002/15/1581775845_2323.jpg) 复制后的文件 ![图片说明](https://img-ask.csdn.net/upload/202002/15/1581776029_891171.jpg)

openpyxl 生产xlsx文件报错

python 3.6 openpyxl 3.0.2 ```python from openpyxl import Workbook from openpyxl.utils import get_column_letter wb = Workbook() dest_filename = 'empty_book.xlsx' ws1 = wb.active ws1.title = "range names" for row in range(1, 40): ws1.append(range(600)) ws2 = wb.create_sheet(title="Pi") ws2['F5'] = 3.14 ws3 = wb.create_sheet(title="Data") for row in range(10, 20): for col in range(27, 54): _ = ws3.cell(column=col, row=row, value="{0}".format(get_column_letter(col))) print(ws3['AA10'].value) wb.save(filename = dest_filename) ``` Traceback (most recent call last): File "C:/Users/Administrator/Desktop/python 报价单生成脚本/111.py", line 36, in <module> wb.save(filename = dest_filename) File "D:\Anaconda3\lib\site-packages\openpyxl\workbook\workbook.py", line 408, in save save_workbook(self, filename) File "D:\Anaconda3\lib\site-packages\openpyxl\writer\excel.py", line 293, in save_workbook writer.save() File "D:\Anaconda3\lib\site-packages\openpyxl\writer\excel.py", line 275, in save self.write_data() File "D:\Anaconda3\lib\site-packages\openpyxl\writer\excel.py", line 75, in write_data self._write_worksheets() File "D:\Anaconda3\lib\site-packages\openpyxl\writer\excel.py", line 215, in _write_worksheets self.write_worksheet(ws) File "D:\Anaconda3\lib\site-packages\openpyxl\writer\excel.py", line 200, in write_worksheet writer.write() File "D:\Anaconda3\lib\site-packages\openpyxl\worksheet\_writer.py", line 354, in write self.write_top() File "D:\Anaconda3\lib\site-packages\openpyxl\worksheet\_writer.py", line 98, in write_top self.write_properties() File "D:\Anaconda3\lib\site-packages\openpyxl\worksheet\_writer.py", line 60, in write_properties self.xf.send(props.to_tree()) File "D:\Anaconda3\lib\site-packages\openpyxl\worksheet\_writer.py", line 294, in get_stream xf.write(el) File "src/lxml/serializer.pxi", line 1230, in lxml.etree._IncrementalFileWriter.write TypeError: got invalid input value of type <class 'xml.etree.ElementTree.Element'>, expected string or Element

openpyxl修改excel出错

Traceback (most recent call last): File "D:\project\op.py", line 8, in <module> wb.save('e:/2.xlsx') File "D:\python\lib\site-packages\openpyxl\workbook\workbook.py", line 396, in save save_workbook(self, filename) File "D:\python\lib\site-packages\openpyxl\writer\excel.py", line 294, in save_workbook writer.save() File "D:\python\lib\site-packages\openpyxl\writer\excel.py", line 276, in save self.write_data() File "D:\python\lib\site-packages\openpyxl\writer\excel.py", line 76, in write_data self._write_worksheets() File "D:\python\lib\site-packages\openpyxl\writer\excel.py", line 226, in _write_worksheets self._write_comment(ws) File "D:\python\lib\site-packages\openpyxl\writer\excel.py", line 180, in _write_comment vml = fromstring(self.workbook.vba_archive.read(ws.legacy_drawing)) AttributeError: 'NoneType' object has no attribute 'read'

ImportError: cannot import name 'workbook' from 'openpyxl' ,这个问题怎么解决?

用python新建一个表格,如下: ``` from openpyxl import workbook wb=workbook() #创建文件对象 ws=wb.active #获取第一个sheet ws['A1'] = 42 ws['C3'] = "你好" ws.append([1,2,3]) import datetime import time ws['A2'] = datetime.datetime.now() #写入一个当前时间 wb.save('openpyxl.xlsx') ``` 新建不了,出错如下: ImportError: cannot import name 'workbook' from 'openpyxl' 我是新手, 求大神指点,感谢!

xlwt .Workbook 保存后的Workbook怎么读取?

对于Python采用xlmt模块生成Workbook,最终保存以后可以 保存为Workbook格式,而不是excel格式,如果中间环节 **不保存为excel文件,再次直接读取Workbook内的数据**该怎么操作呢: import xml.dom.minidom from xlwt import Workbook import xlrd #新建一个workbook book = Workbook(encoding='utf-8') sheet = book.add_sheet('Sheet1') book.save book.save('file.xls) 因为读取excel的操作 xlrd.open_workbook 只能对excel文件起作用, 对上述保存的Workbook文件采用xlrd.open_workbook 操作会提示错误, 有什么别的方法可以实现的吗?

java poi读取excel Workbook类错误

具体问题是报错显示workbook类找不到,但是类已经导入到工程中。烦请大神帮忙看看解决。感谢! 报错信息 ``` 严重: Servlet.service() for servlet [com.oabkdao.servlet.IndexServlet] in context with path [/oabkdao] threw exception [Servlet execution threw an exception] with root cause java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Workbook ``` Servlet调用XlsMain类 ``` XlsMain XlsMain = new XlsMain(); XlsMain.main(null); ``` XlsMain类 ``` package com.oabkdao.io; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class XlsMain { public static void main(String[] args) { readXml("C:\\Users\\SJN\\Desktop\\国内改.xlsx"); System.out.println("-------------"); readXml("C:\\Users\\SJN\\Desktop\\国内改.xlsx"); } public static void readXml(String fileName){ boolean isE2007 = false; //判断是否是excel2007格式 if(fileName.endsWith("xlsx")) {isE2007 = true;} try { InputStream input = new FileInputStream(fileName); //建立输入流 Workbook wb = null; //根据文件格式(2003或者2007)来初始化 if(isE2007) { wb = new XSSFWorkbook(input); } else { wb = new HSSFWorkbook(input);} Sheet sheet = wb.getSheetAt(0); //获得第一个表单 Iterator<Row> rows = sheet.rowIterator(); //获得第一个表单的迭代器 while (rows.hasNext()) { Row row = rows.next(); //获得行数据 System.out.println("Row #" + row.getRowNum()); //获得行号从0开始 Iterator<Cell> cells = row.cellIterator(); //获得第一行的迭代器 while (cells.hasNext()) { Cell cell = cells.next(); System.out.println("Cell #" + cell.getColumnIndex()); switch (cell.getCellType()) { //根据cell中的类型来输出数据 case HSSFCell.CELL_TYPE_NUMERIC: System.out.println(cell.getNumericCellValue()); break; case HSSFCell.CELL_TYPE_STRING: System.out.println(cell.getStringCellValue()); break; case HSSFCell.CELL_TYPE_BOOLEAN: System.out.println(cell.getBooleanCellValue()); break; case HSSFCell.CELL_TYPE_FORMULA: System.out.println(cell.getCellFormula()); break; default: System.out.println("unsuported sell type"); break; } } } } catch (IOException ex) { ex.printStackTrace(); } } } ```

python存储时提示Errno 2] No such file or directory: 'C:\\Users\\nuonu\\Desktop\\province_time\\人均地区生产总值(元/人).xlsx'

``` import os import openpyxl def transform(parent_path,out_path): FileNames = os.listdir(parent_path) #文件夹下面所有的文件 for file in FileNames: filename=os.path.join(parent_path,file) wb = openpyxl.load_workbook(filename) sheet = wb['分省年度数据'] value_name=sheet['A2'].value[3:] outfile=os.path.join(out_path,value_name) sheet.delete_rows(36,2) sheet.delete_rows(1,3) wb.save(outfile + '.xlsx') if __name__=='__main__': path1=r"C:\Users\nuonu\Desktop\province_xlsx" #待转换文件所在目录 path2=r"C:\Users\nuonu\Desktop\province_time" #转换文件存放目录 transform(path1, path2) ``` 运行上面代码时提示Errno 2] No such file or directory:;可自己核对发现该文件夹确确实实创建了呀 为了核对,简化之后,找一个示例结果却是可以输出的 ``` import os import openpyxl path2=r"C:\Users\nuonu\Desktop\province_time" wb = openpyxl.load_workbook("C:\\Users\\nuonu\\Desktop\\bgf.xlsx") sheet = wb['分省年度数据'] value_name=sheet['A2'].value[3:] outfile=os.path.join(path2,value_name) sheet.delete_rows(36,2) sheet.delete_rows(1,3) wb.save(outfile+ '.xlsx') ``` 新手上路,还请高人指点

错误:java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Workbook.close()V

在导出表的时候产生这个错误,如下图: ![图片说明](https://img-ask.csdn.net/upload/201907/23/1563882042_327825.png) 使用close()方法出错,错误如下图: ![图片说明](https://img-ask.csdn.net/upload/201907/23/1563882475_392304.png) 自己也查过一些方法,以为是jar包冲突的问题,但是打印出jar包调用路径之后发现调用的都是自己放进去的jar包,也没有其他多余的jar包。。 求大佬帮忙解决一下!感激不尽!

使用 init ()方法了解 Python super ()

<div class="post-text" itemprop="text"> <div class="question-status question-originals-of-duplicate"> <p>This question already has an answer here:</p> <ul> <li> <a href="/questions/222877/what-does-super-do-in-python" dir="ltr">What does 'super' do in Python?</a> <span class="question-originals-answer-count"> 6 answers </span> </li> </ul> </div> <p>I'm trying to understand the use of <code>super()</code>. From the looks of it, both child classes can be created, just fine. </p> <p>I'm curious to know about the actual difference between the following 2 child classes.</p> <pre><code>class Base(object): def __init__(self): print "Base created" class ChildA(Base): def __init__(self): Base.__init__(self) class ChildB(Base): def __init__(self): super(ChildB, self).__init__() ChildA() ChildB() </code></pre> </div> <p>转载于:https://stackoverflow.com/questions/576169/understanding-python-super-with-init-methods</p>

Python-openpyxl和文件IO问题

``` import openpyxl as xl peoples = '' wb = xl.load_workbook('six.xlsx') sheet = wb['Sheet1'] for row in range(2, sheet.max_row + 1): cell = sheet.cell(row, 2) peoples = cell.value print(peoples) DATA = open('DATA.txt', 'w') DATA.write(peoples) DATA.close() ``` 这段代码运行报错: ![图片说明](https://img-ask.csdn.net/upload/202004/30/1588209924_321371.png) 怎么解决这个问题??? 求解答

报错:未将对象引用设置到对象的实例。下面是代码

public class Temporary { //public string Query_NAME { get; set; } public long Te_TC { get; set; } public long Te_MC { get; set; } public long Te_QC { get; set; } public long Te_WC { get; set; } public long Te_CC { get; set; } public long Te_EC { get; set; } public long Te_PC { get; set; } } private DataServiceCollection<Temporary> temporary; public DataServiceCollection<Temporary> AllTemporary { get { return temporary; } set { if (temporary != value) { temporary = value; this.OnPropertyChanged("AllTemporary"); } } } public object QueryInventoryInfo(string areaId) { if (string.IsNullOrEmpty(areaId)) { areaId = ""; } string locType = "2"; for (int i = 0; i < Areas.Count; i++) { Temporary tem = new Temporary(); tem.Te_TC = this.WMSServiceContext.MD_LOCATION.Where(c => c.LOC_TYPE != locType && c.AREA_ID.StartsWith(areaId)).LongCount(); tem.Te_MC = this.WMSServiceContext.MD_LOCATION.Where(c => c.LOC_TYPE != locType && c.AREA_ID.StartsWith(areaId) && c.STATUS.Contains("m")).LongCount(); tem.Te_QC = this.WMSServiceContext.MD_LOCATION.Where(c => c.LOC_TYPE != locType && c.AREA_ID.StartsWith(areaId) && c.STATUS.Contains("q")).LongCount(); tem.Te_WC = this.WMSServiceContext.MD_LOCATION.Where(c => c.LOC_TYPE != locType && c.AREA_ID.StartsWith(areaId) && c.STATUS.Contains("w")).LongCount(); tem.Te_CC = this.WMSServiceContext.MD_LOCATION.Where(c => c.LOC_TYPE != locType && c.AREA_ID.StartsWith(areaId) && c.STATUS.Contains("c")).LongCount(); tem.Te_EC = this.WMSServiceContext.MD_LOCATION.Where(c => c.LOC_TYPE != locType && c.AREA_ID.StartsWith(areaId) && c.STATUS.Contains("e")).LongCount(); tem.Te_PC = this.WMSServiceContext.MD_LOCATION.Where(c => c.LOC_TYPE != locType && c.AREA_ID.StartsWith(areaId) && c.STATUS.Contains("p")).LongCount(); if (tem != null) { this.AllTemporary.Add(tem); //此处报错 } } return AllTemporary; }

怎样读取txt文本并按规则写入excle

效果如图,txt文本是有规律的很多组的数据,将每组数据写入excle的一行,每组数据最后一项“成员”的内容数量不一定, 就在excle同一行往后一格一个。![图片说明](https://img-ask.csdn.net/upload/201903/22/1553238536_362391.png)![图片说明](https://img-ask.csdn.net/upload/201903/22/1553238542_856383.png) ``` import openpyxl import codecs from openpyxl.utils import get_column_letter def txt_to_xlsx(filename,outfile): fr = codecs.open(filename,'r') wb = openpyxl.Workbook() ws = wb.active ws = wb.create_sheet() ws.title = 'Sheet1' row = 0 for line in fr: row +=1 line = line.strip() line = line.split('\t') col = 0 for j in range(len(line)): col +=1 #print (line[j]) ws.cell(column = col,row = row,value = line[j].format(get_column_letter(col))) wb.save(outfile) #读取xlsx内容 def read_xlsx(filename): #载入文件 wb = openpyxl.load_workbook(filename) #获取Sheet1工作表 ws = wb.get_sheet_by_name('Sheet1') #按行读取 for row in ws.rows: for cell in row: print (cell.value) #按列读 for col in ws.columns: for cell in col: print (cell.value) if __name__=='__main__': inputfileTxt = 'E:\\d.txt' outfileExcel = 'E:\\b_result.xlsx' txt_to_xlsx(inputfileTxt,outfileExcel) read_xlsx(outfileExcel) ``` 这个代码全部稀里糊涂写在第一列了

Python第三方库openpyxl如何对Exce提取指定字符的所在行

初学Python, 被这个问题困扰了好久了。 我想提取Excel每一行的第一个单元格为字符"Air"的行的内容。 尝试了以下代码,但是没能成功,还请前辈们指教。谢过! from openpyxl import Workbook from openpyxl import load_workbook wb=load_workbook("C:/Users/SSSVV/Desktop/Air log/Air log now 1207.xlsx") sheet_names=wb.sheetnames ws=wb[sheet_names[0]] maxrow=ws.max_row maxcol=ws.max_column ID="air" i=1 for i in ws.rows: for cell in i: if ID in ws.cell(row=i,column=1).value: print(cell.value)

python 读写excle问题

![图片说明](https://img-ask.csdn.net/upload/202005/10/1589115637_591618.png) 我用python做了个脚本,读写带VBA excle文件后保存,图型、按钮(控制模块)都不见了,我想请教各位老师代码该如何修改? import xlwt,xlrd from openpyxl import load_workbookwb = load_workbook("E:\共享备份\合同明细查询.xlsm",keep_vba=True) wb2 = load_workbook("E:\共享备份\成品数据.xlsx") sheet = wb.get_sheet_by_name("成品数据") sheet2 = wb2.get_sheet_by_name("合同数据库") d=sheet2.max_rowp=sheet2.max_column for x in range(1,d): for y in range(1,p): sheet.cell(x,y).value=sheet2.cell(x,y).value wb.save('E:\共享备份\合同明细查询.xlsm')print("完成") 运行后,单元格数据能读写进去,就是里面那些控制宏的图型和按钮就没有了

用python将txt文档写入excel,并将文本类型装成数字类型

我把txt文档中的数据导入excel后无法识别成数字,怎么转换呢;代码如下: import xlsxwriter workbook = xlsxwriter.Workbook("chart.xlsx") worksheet = workbook.add_worksheet() chart = workbook.add_chart({'type':'column'}) title = ['业务名称','星期一','星期二','星期三','星期四','星期五','星期六','星期日','平均流量'] buname = ['业务官网','新闻中心','购物频道','体育频道','亲子频道'] format = workbook.add_format() format.set_num_format('0.0') format_title = workbook.add_format() format_title.set_border(1) format_title.set_bg_color('#cccccc') format_title.set_align('center') format_title.set_bold() format_ave = workbook.add_format() format_ave.set_border(1) #format_ave.set_num_format('0.00') worksheet.write_row('A1',title,format_title) worksheet.write_column('A2',buname,format) with open('number.txt') as file: data = file.readlines() worksheet.write_row('B2',data[0:7]) worksheet.write_row('B3',data[7:14],format) worksheet.write_row('B4',data[14:21],format) worksheet.write_row('B5',data[21:28],format) worksheet.write_row('B6',data[28:35],format) def chart_series(cur_row): worksheet.write_formula('I'+cur_row,'=SUM(B'+cur_row+':H'+cur_row+')',format_ave) chart.add_series({ 'categories': '=Sheet1!$b$1:$H$1', 'values':'=Sheet1!$b$'+cur_row+':$H$'+cur_row, 'line': {'color':'black'}, 'name': '=Sheet1!$A$'+cur_row, }) for row in range(2,7): chart_series(str(row)) chart.set_size({'width':577,'height':287}) chart.set_title({'name':'业务流量周报报表'}) chart.set_y_axis({'name':"Mb/s"}) worksheet.insert_chart('A8',chart) workbook.close()

使用Python 将某个excel 中的一列 写入 另一个excel 中的某一列...

嗨 朋友们, 我遇到了一个地方感觉写不动了....求点拨一下: 想要实现的功能: 将某个excel 中的一列 写入 另一个excel 中的一列. 当前我的进展是:可以从第一个excel 中提取所需要的列。 & 打开第二个excle...(我把他们分别定义成了两个函数) 当前的困难是: 我不知道改如何 将第一个excel 中的指定信息列 插入 第二个excel 中去...(沿着最初的思路,感觉写不下去了) 这个是我现阶段的代码, 大家知道 该怎么继续么? ``` import openpyxl import xlrd def get_infor(): book = xlrd.open_workbook('C:/Users/lenovo/Desktop/模板.xlsx') sheet = book.sheet_by_name('WRT模板') for i in range (3,sheet.nrows): # i 从第四列开始 PN = str(sheet.cell(i,3).value) Cost_USD = str(sheet.cell(i,7).value) print('PN:',PN) print('Cost_AUD:',Cost_USD) print("--------------") #return PN ,Cost_USD # 连上了 指定的excel 的指定的 页签 def Open_excel(): book = openpyxl.load_workbook('C:/Users/lenovo/Desktop/文档模板/AU/Cost_AU.xlsx') sheet = book.get_sheet_by_name('CostAU') sheet get_infor() # Open_excel() ```

python+opencv+pyqt5 车牌批量识别报错

**单个儿车牌识别,代码运行成功,代码如下:** ``` from PyQt5 import QtCore,QtGui, QtWidgets from PyQt5.QtGui import * from PyQt5.QtCore import Qt from PyQt5.QtWidgets import * from Recognition import PlateRecognition import cv2 import sys, os, xlwt import numpy as np class Ui_MainWindow(object): def __init__(self): self.RowLength = 0 self.Data = [['文件名称', '录入时间', '车牌号码', '车牌类型', '识别耗时', '车牌信息']] def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1213, 670) MainWindow.setFixedSize(1213, 670) # 设置窗体固定大小 MainWindow.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.scrollArea = QtWidgets.QScrollArea(self.centralwidget) self.scrollArea.setGeometry(QtCore.QRect(690, 10, 511, 491)) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 509, 489)) self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.label_0 = QtWidgets.QLabel(self.scrollAreaWidgetContents) self.label_0.setGeometry(QtCore.QRect(10, 10, 111, 20)) font = QtGui.QFont() font.setPointSize(11) self.label_0.setFont(font) self.label_0.setObjectName("label_0") self.label = QtWidgets.QLabel(self.scrollAreaWidgetContents) self.label.setGeometry(QtCore.QRect(10, 40, 481, 441)) self.label.setObjectName("label") self.label.setAlignment(Qt.AlignCenter) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.scrollArea_2 = QtWidgets.QScrollArea(self.centralwidget) self.scrollArea_2.setGeometry(QtCore.QRect(10, 10, 671, 631)) self.scrollArea_2.setWidgetResizable(True) self.scrollArea_2.setObjectName("scrollArea_2") self.scrollAreaWidgetContents_1 = QtWidgets.QWidget() self.scrollAreaWidgetContents_1.setGeometry(QtCore.QRect(0, 0, 669, 629)) self.scrollAreaWidgetContents_1.setObjectName("scrollAreaWidgetContents_1") self.label_1 = QtWidgets.QLabel(self.scrollAreaWidgetContents_1) self.label_1.setGeometry(QtCore.QRect(10, 10, 111, 20)) font = QtGui.QFont() font.setPointSize(11) self.label_1.setFont(font) self.label_1.setObjectName("label_1") self.tableWidget = QtWidgets.QTableWidget(self.scrollAreaWidgetContents_1) self.tableWidget.setGeometry(QtCore.QRect(10, 40, 651, 581)) # 581)) self.tableWidget.setObjectName("tableWidget") self.tableWidget.setColumnCount(6) self.tableWidget.setColumnWidth(0, 140) # 设置1列的宽度 self.tableWidget.setColumnWidth(1, 130) # 设置2列的宽度 self.tableWidget.setColumnWidth(2, 65) # 设置3列的宽度 self.tableWidget.setColumnWidth(3, 75) # 设置4列的宽度 self.tableWidget.setColumnWidth(4, 65) # 设置5列的宽度 self.tableWidget.setColumnWidth(5, 174) # 设置6列的宽度 self.tableWidget.setHorizontalHeaderLabels(["图片名称", "录入时间", "识别耗时", "车牌号码", "车牌类型", "车牌信息"]) self.tableWidget.setRowCount(self.RowLength) self.tableWidget.verticalHeader().setVisible(False) # 隐藏垂直表头) # self.tableWidget.setStyleSheet("selection-background-color:blue") # self.tableWidget.setAlternatingRowColors(True) self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tableWidget.raise_() self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_1) self.scrollArea_3 = QtWidgets.QScrollArea(self.centralwidget) self.scrollArea_3.setGeometry(QtCore.QRect(690, 510, 341, 131)) self.scrollArea_3.setWidgetResizable(True) self.scrollArea_3.setObjectName("scrollArea_3") self.scrollAreaWidgetContents_3 = QtWidgets.QWidget() self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(0, 0, 339, 129)) self.scrollAreaWidgetContents_3.setObjectName("scrollAreaWidgetContents_3") self.label_2 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) self.label_2.setGeometry(QtCore.QRect(10, 10, 111, 20)) font = QtGui.QFont() font.setPointSize(11) self.label_2.setFont(font) self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) self.label_3.setGeometry(QtCore.QRect(10, 40, 321, 81)) self.label_3.setObjectName("label_3") self.scrollArea_3.setWidget(self.scrollAreaWidgetContents_3) self.scrollArea_4 = QtWidgets.QScrollArea(self.centralwidget) self.scrollArea_4.setGeometry(QtCore.QRect(1040, 510, 161, 131)) self.scrollArea_4.setWidgetResizable(True) self.scrollArea_4.setObjectName("scrollArea_4") self.scrollAreaWidgetContents_4 = QtWidgets.QWidget() self.scrollAreaWidgetContents_4.setGeometry(QtCore.QRect(0, 0, 159, 129)) self.scrollAreaWidgetContents_4.setObjectName("scrollAreaWidgetContents_4") self.pushButton_2 = QtWidgets.QPushButton(self.scrollAreaWidgetContents_4) self.pushButton_2.setGeometry(QtCore.QRect(20, 50, 121, 31)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton = QtWidgets.QPushButton(self.scrollAreaWidgetContents_4) self.pushButton.setGeometry(QtCore.QRect(20, 90, 121, 31)) self.pushButton.setObjectName("pushButton") self.label_4 = QtWidgets.QLabel(self.scrollAreaWidgetContents_4) self.label_4.setGeometry(QtCore.QRect(10, 10, 111, 20)) font = QtGui.QFont() font.setPointSize(11) self.label_4.setFont(font) self.label_4.setObjectName("label_4") self.scrollArea_4.setWidget(self.scrollAreaWidgetContents_4) MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) self.pushButton.clicked.connect(self.__openimage) # 设置点击事件 self.pushButton_2.clicked.connect(self.__writeFiles) # 设置点击事件 self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) self.ProjectPath = os.getcwd() # 获取当前工程文件位置 def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "车牌识别系统")) self.label_0.setText(_translate("MainWindow", "原始图片:")) self.label.setText(_translate("MainWindow", "")) self.label_1.setText(_translate("MainWindow", "识别结果:")) self.label_2.setText(_translate("MainWindow", "车牌区域:")) self.label_3.setText(_translate("MainWindow", "")) self.pushButton.setText(_translate("MainWindow", "打开文件")) self.pushButton_2.setText(_translate("MainWindow", "导出数据")) self.label_4.setText(_translate("MainWindow", "命令:")) self.scrollAreaWidgetContents_1.show() # 识别 def __vlpr(self, path): PR = PlateRecognition() result = PR.VLPR(path) return result def __show(self, result, FileName): # 显示表格 self.RowLength = self.RowLength + 1 if self.RowLength > 18: self.tableWidget.setColumnWidth(5, 157) self.tableWidget.setRowCount(self.RowLength) self.tableWidget.setItem(self.RowLength - 1, 0, QTableWidgetItem(FileName)) self.tableWidget.setItem(self.RowLength - 1, 1, QTableWidgetItem(result['InputTime'])) self.tableWidget.setItem(self.RowLength - 1, 2, QTableWidgetItem(str(result['UseTime']) + '秒')) self.tableWidget.setItem(self.RowLength - 1, 3, QTableWidgetItem(result['Number'])) self.tableWidget.setItem(self.RowLength - 1, 4, QTableWidgetItem(result['Type'])) if result['Type'] == '蓝色牌照': self.tableWidget.item(self.RowLength - 1, 4).setBackground(QBrush(QColor(3, 128, 255))) elif result['Type'] == '绿色牌照': self.tableWidget.item(self.RowLength - 1, 4).setBackground(QBrush(QColor(98, 198, 148))) elif result['Type'] == '黄色牌照': self.tableWidget.item(self.RowLength - 1, 4).setBackground(QBrush(QColor(242, 202, 9))) self.tableWidget.setItem(self.RowLength - 1, 5, QTableWidgetItem(result['From'])) # 显示识别到的车牌位置 size = (int(self.label_3.width()), int(self.label_3.height())) shrink = cv2.resize(result['Picture'], size, interpolation=cv2.INTER_AREA) shrink = cv2.cvtColor(shrink, cv2.COLOR_BGR2RGB) self.QtImg = QtGui.QImage(shrink[:], shrink.shape[1], shrink.shape[0], shrink.shape[1] * 3, QtGui.QImage.Format_RGB888) self.label_3.setPixmap(QtGui.QPixmap.fromImage(self.QtImg)) def __writexls(self, DATA, path): wb = xlwt.Workbook(); ws = wb.add_sheet('Data'); # DATA.insert(0, ['文件名称','录入时间', '车牌号码', '车牌类型', '识别耗时', '车牌信息']) for i, Data in enumerate(DATA): for j, data in enumerate(Data): ws.write(i, j, data) wb.save(path) QMessageBox.information(None, "成功", "数据已保存!", QMessageBox.Yes) def __writecsv(self, DATA, path): f = open(path, 'w') # DATA.insert(0, ['文件名称','录入时间', '车牌号码', '车牌类型', '识别耗时', '车牌信息']) for data in DATA: f.write((',').join(data) + '\n') f.close() QMessageBox.information(None, "成功", "数据已保存!", QMessageBox.Yes) def __writeFiles(self): path, filetype = QFileDialog.getSaveFileName(None, "另存为", self.ProjectPath, "Excel 工作簿(*.xls);;CSV (逗号分隔)(*.csv)") if path == "": # 未选择 return if filetype == 'Excel 工作簿(*.xls)': self.__writexls(self.Data, path) elif filetype == 'CSV (逗号分隔)(*.csv)': self.__writecsv(self.Data, path) def __openimage(self): path, filetype = QFileDialog.getOpenFileName(None, "选择文件", self.ProjectPath, "JPEG Image (*.jpg);;PNG Image (*.png);;JFIF Image (*.jfif)") # ;;All Files (*) if path == "": # 未选择文件 return filename = path.split('/')[-1] # 尺寸适配 size = cv2.imdecode(np.fromfile(path, dtype=np.uint8), cv2.IMREAD_COLOR).shape if size[0] / size[1] > 1.0907: w = size[1] * self.label.height() / size[0] h = self.label.height() jpg = QtGui.QPixmap(path).scaled(w, h) elif size[0] / size[1] < 1.0907: w = self.label.width() h = size[0] * self.label.width() / size[1] jpg = QtGui.QPixmap(path).scaled(w, h) else: jpg = QtGui.QPixmap(path).scaled(self.label.width(), self.label.height()) self.label.setPixmap(jpg) result = self.__vlpr(path) if result is not None: self.Data.append( [filename, result['InputTime'], result['Number'], result['Type'], str(result['UseTime']) + '秒', result['From']]) self.__show(result, filename) else: QMessageBox.warning(None, "Error", "无法识别此图像!", QMessageBox.Yes) # 重写MainWindow类 class MainWindow(QtWidgets.QMainWindow): def closeEvent(self, event): reply = QtWidgets.QMessageBox.question(self, '提示', "是否要退出程序?\n提示:退出后将丢失所有识别数据", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No, QtWidgets.QMessageBox.No) if reply == QtWidgets.QMessageBox.Yes: event.accept() else: event.ignore() if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) MainWindow = MainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_()) ``` **然后我在单个识别的基础上,增加了几行代码改成批量识别,红色框的是新添加的,其余代码没有改变** ![图片说明](https://img-ask.csdn.net/upload/202003/19/1584629478_989190.png) ![图片说明](https://img-ask.csdn.net/upload/202003/19/1584629493_573295.png) **程序报错:Process finished with exit code -1073740791 (0xC0000409)** ![图片说明](https://img-ask.csdn.net/upload/202003/19/1584629516_819110.png) 大佬们帮帮小白吧,这个增加批量识别的代码是否正确,这个错怎么改。感激不尽!

如何使用selenium进行多协程填写表单?

系统: win10 环境:python3.7 浏览器:chrom 小白自学phthon,使用selenium写了一个工具,任务是进入帐号,点掉所有被选中的勾选框,但是假设我需要对1000个帐号进行同样的操作,for i in range(len(work)):将会打开1000个浏览器窗口,有没有一种方法能实现每次打开5个窗口,直至遍历帐号列表? 这是我的帐号列表:(假装有1000个帐号) (https://img-ask.csdn.net/upload/202001/06/1578295823_23416.png) 这是我的代码: ``` #!/usr/bin/env python # -*- coding:utf-8 -*- from gevent import monkey monkey.patch_all() from selenium import webdriver import time, openpyxl, gevent from gevent.queue import Queue work = Queue() def login(): if not work.empty(): user = work.get_nowait() driver = webdriver.Chrome() driver.get('http://safe.shougang.com.cn/srp/#') driver.maximize_window() # 打开浏览器登陆首安云并最大化窗口 username = driver.find_element_by_id('userName') username.send_keys(user) password = driver.find_element_by_id('passWord') password.send_keys(user[0][-6:]) # 传入帐号和密码 button = driver.find_element_by_css_selector('.btn.btn-primary') button.click() try: driver.find_element_by_css_selector('.x-component.x-window-text.x-box-item.x-component-default') print('用户%s 密码错误!\n队列剩余%s个' % (user, len(work))) driver.close() return except Exception: time.sleep(1) # 试登陆 try: url_yhpc = driver.find_element_by_partial_link_text('您有待排查') url_yhpc.click() time.sleep(1) except Exception: print('用户%s 无隐患排查任务\n队列剩余%s个' % (user, len(work))) driver.close() time.sleep(1) return daj_button = driver.find_elements_by_css_selector('.x-grid-checkcolumn.x-grid-checkcolumn-checked') for bt in daj_button: bt.click() time.sleep(0.5) send_button = driver.find_element_by_id('button-1302-btnInnerEl') send_button.click() time.sleep(1) yes_button = driver.find_element_by_id('button-1010-btnWrap') yes_button.click() time.sleep(1) driver.close() print('用户%s 排查成功\n队列剩余%s个' % (user, len(work))) def get_users(): wb = openpyxl.load_workbook(r'C:\users\lz315\Desktop\首安云试验.xlsx') ws = wb.active for row in ws.rows: list_user = [] for cell in row: aa = str(cell.value) list_user.append(aa) work.put_nowait(list_user) wb.close() return work # 读取帐号信息,返回帐号list start = time.time() get_users() task_list = [] for i in range(len(work)): task = gevent.spawn(login) task_list.append(task) gevent.joinall(task_list) end = time.time() print(end-start) ```

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关,本文针对这两个总是被混用的概念展开讲解。 JVM内存结构 JVM构成 说到JVM内存结构,就不会只是说内存结构的5个分区,而是会延展到整个JVM相关的问题,所以先了解下

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

立即提问
相关内容推荐