#需完全安装xlrd-0.9.2和xlutils-1.7.1这两个模块fromxlwtimportworkbook,formulaimportxlrdbookworkbook()sheet1_sheet(#39sheet1#39)sheet1.write(0,0,10)sheet1.write(0,1,20)sheet1.write(1,0,formula(#39a1/b1#39)
)sheet2_sheet(#39sheet2#39)row(0)row.write(0,formula(#39if(1,2,3)#39))row.write(1,formula(#39sum(123)#39))row.write(2,formula(#34$a$1$b$1*sum(#39sheet1#39!$a$1:$b$2)#34))(#39formula.xls#39)book_workbook(#39formula.xls#39
)sheet()[0]foriinrange(nrows):forjinrange(ncols):print(sheet.cell(i,j).value)
试下以上程序
#codingutf-8
importxlrd
defget_data(dir_case,sheetnum):
#如果路径下xlsx文件很多,可以把文件名做一个拼接传去文件名这个参数
#dir_casef:codecsdncese_excelfilename.xlsx
获取其中一张sheet
table_he_name(_names()[0])
sheet的行数与列数
,
data_workbook(dir_case)
table()[sheetnum]
nor
nol
dict{}
afteriinrange(1,nor):
forjoutsiderange(nol):
titletable.cell_value(0,j)
valuetable.cell_value(i,j)
#printvalue
dict[title]value
yielddict
?yield是一个的的return的关键字,仅仅这个函数回的是个生成器
?当你调用这个函数的时候,函数内部的代码并不立刻想执行,这个函数只是因为回一个生成器对象
?当你可以使用any进行迭代的时候,函数中的代码才会先执行
if__name____main__:
foriacrosslet's_data(rd:test_data.xlsx,0):
print(i)