python读取excel生成字典写入txt
import xlrd
import json
def get_data(dir_case, sheetnum):
'''
获取其中一张sheet
table = data.sheet_by_name(data.sheet_names()[0])
sheet的行数与列数
table.nrows, table.ncols
'''
data = xlrd.open_workbook(dir_case)
table = data.sheets()[sheetnum]
nor = table.nrows
nol = table.ncols
dict = {}
for i in range(0, nor):
value_list = []
for j in range(1,nol):
title = table.cell_value(i, 0)
value = table.cell_value(i, j)
if value == "":
break
value_list.append(value)
dict[title] = value_list
yield dict
with open('LVISandCOCO.txt', 'w') as file:
file.write(json.dumps(dict))
'''
• yield 是一个类似 return 的关键字,只是这个函数返回的是个生成器
• 当你调用这个函数的时候,函数内部的代码并不立马执行 ,这个函数只是返回一个生成器对象
• 当你使用for进行迭代的时候,函数中的代码才会执行
'''
if __name__ == '__main__':
for m in get_data(r'xxx.xlsx',0):
print (m)