Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用openpyxl PYTHON 3.5在列中的第一个空单元格上执行更快的搜索方法_Python_Search_Xlsx_Openpyxl - Fatal编程技术网

使用openpyxl PYTHON 3.5在列中的第一个空单元格上执行更快的搜索方法

使用openpyxl PYTHON 3.5在列中的第一个空单元格上执行更快的搜索方法,python,search,xlsx,openpyxl,Python,Search,Xlsx,Openpyxl,我在搜索某列中的第一个空单元格时遇到问题 在40k行的.xlsx文件中。随着搜索的深入,搜索速度越来越慢。在搜索列上的第一个空单元格时是否有更快/即时的搜索方法 wb = load_workbook(filename = dest_filename,read_only=True) sheet_ranges1 = wb[name] i = 1 x = 0 sam = 0 cc = 0 brgyst =Street+Brgy entr

我在搜索某列中的第一个空单元格时遇到问题 在40k行的.xlsx文件中。随着搜索的深入,搜索速度越来越慢。在搜索列上的第一个空单元格时是否有更快/即时的搜索方法

    wb = load_workbook(filename = dest_filename,read_only=True)
    sheet_ranges1 = wb[name]
    i = 1 
    x = 0
    sam = 0
    cc = 0
    brgyst =Street+Brgy
    entrylist = [TotalNoConfig,TotalNoChannel,Rsl,Mode,RslNo,Year,IssuedDate,Carrier,CaseNo,Site,brgyst,Municipality,Province,Region,Longitude1,Longitude2,Longitude3,Latitude1,Latitude2,Latitude3,ConvertedLong,ConvertedLat,License,Cos,NoS,CallSign,PTSVC,PTSVCCS,Tx,Rx] #The values to be inputted in the entire row after searching the last empty cell in column J
    listX1 = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N', 'O','P','Q','T','U','V','R','X','Y','Z','AA','AB','AM','AN','AP','FL'] #The columns in the file
    eter = 0      
    while(x != 1):
        cellS = 'J'+str(i) #until there is no empty cell
        if(sheet_ranges1[cellS].value is None): #if found empty cell, insert the values
            x=1
            book = load_workbook(filename = dest_filename)
            sheet = book[name]
            rangeof = int(len(entrylist))
            while(cc<rangeof):
                cells = listX1[cc]+str(i)
                sheet[cells]= entrylist[cc]    
                cc=cc+1                               
        else:
            x=0
        sam = sam+1   
        i=i+1
    wb.save(dest_filename)
    wb.close()
wb=load\u工作簿(filename=dest\u filename,read\u only=True)
工作表\u范围1=wb[名称]
i=1
x=0
sam=0
cc=0
brgyst=街道+Brgy
entrylist=[TotalNoConfig,TotalNoChannel,Rsl,Mode,RslNo,Year,IssuedDate,Carrier,CaseNo,Site,brgyst,市政当局,省,地区,Longitude1,Longitude2,Longitude3,Latitude1,Latitude2,Latitude3,ConvertedLong,ConvertedLat,License,Cos,NoS,CallSign,PTSVC,PTSVC,Tx,Rx]#搜索J列最后一个空单元格后整行输入的值
列表X1=['A'、'B'、'C'、'D'、'E'、'F'、'G'、'H'、'I'、'J'、'K'、'L'、'M'、'N'、'O'、'P'、'Q'、'T'、'U'、'V'、'R'、'X'、'Y'、'Z'、'AA'、'AB'、'AM'、'AN'、'AP'、'FL']文件中的列]
表=0
而(x!=1):
单元格='J'+str(i)#直到没有空单元格
如果(工作表范围1[单元格]。值为无):#如果找到空单元格,请插入值
x=1
book=load\u工作簿(文件名=dest\u文件名)
活页=书[名称]
rangeof=int(len(entrylist))

(cc在只读模式下,每个单元格查找都会导致再次解析工作表,因此您应该始终使用
ws.iter_rows()
进行工作。

已解决的问题请在其中输入至少15个字符