天天看点

XLS的读取(多线程Python3.4)

import threading
import xlrd
from queue import Queue
import time
print_lock = threading.Lock()
q = Queue()
xlsfile = xlrd.open_workbook('xls文件路径') #打开文件
mysheet = xlsfile.sheet_by_name('sheet名')     #选择要操作的sheet
rows = mysheet.nrows  #文件的行数
cols = mysheet.ncols  #文件的列数
def get_data():
    with open('保存到这里', 'w') as file:
         for i in range(rows):
            file.write(' '+mysheet.cell(i, 2).value+'     '+mysheet.cell(i, 9).value+'\n')
            print(' ', mysheet.cell(i, 2).value, '     ', mysheet.cell(i, 9).value, '写入完毕!')
def threader():
    while True:
        q.get()
        get_data()
        q.task_done()
for x in range(100):
    t = threading.Thread(target=threader)
    t.daemon = True
    t.start()
for i in range(rows):
    q.put(i)
q.join()