python与excel的数据问题。
小弟正在学习python用它写了个地址薄的程序,在快完工的时候遇到点问题,希望大家能帮帮忙。谢谢了。这个是读excel的数据进去字典:
def ParseXlsUerator():
'''读入excel数据进ab'''
sheets = parse_xls('c:/Python26/address_book.xls')
n=len(sheets)
for k in range(n):
sheet = sheets[ k ]
sh_name = sheet[0]
#提取表单n的数据
sh_data = sheet[1]
j=1
m=0
while(m<=n):
while(0<=j<5):
a=sh_data[0][j]
if a=='':
break
b=sh_data[4][j]
updateDict = {a:b}
ab.update(updateDict)
j=j+1
m=m+1
这个是字典中的数据写入excel:
def write_ab():
'''将字典写入EXCEL,需要加入非空行判断 否则覆盖'''
i=1
j=0
for name, address in ab.items():
tmpfile='c:/Python26/address_book.xls'
f = open(tmpfile, 'wb')
sheets =parse_xls(tmpfile)
n=len(sheets)
for k in range(n):
sheet = sheets[ k]
sh_name = sheet[0]
#提取表单n的数据
sh_data = sheet[1]
m=0
while(m<=n):
while(1):
a=sh_data[k][0]
if a=='':
break
i=i+1
m=m+1
sh_name.write(i,j,address.name)
sh_name.write(i,j+1,address.email)
sh_name.write(i,j+2,address.phone_number)
sh_name.write(i,j+3,address.belong)
sh_name.write(i,j+4,address.index)
现在几个问题:
1,出现个错误, a=sh_data[0][j]
KeyError: 0,网上没能找到为什么,自己也没能解决。
2,我的思路是将字典当做缓存,用两个函数实现地址薄的信息的存储。不知道有没其他更方便的方法。
3,获取的excel的表单名字是字符串无法用来.write
谢谢大家了