python操作excel读取数据,如何返回的是gbk 20

我写了一个程序,但是读取出来的编码不对,请各位大神帮忙看一下,如果有更简便的办法,请贴出来,让我学习学习。defopen_excel(file='G:/123.xls')... 我写了一个程序, 但是读取出来的编码不对, 请各位大神帮忙看一下,如果有更简便的办法,请贴出来,让我学习学习。

def open_excel(file= 'G:/123.xls'):
try:
data = xlrd.open_workbook(file)
return data
except Exception,e:
print str(e)

def excel_table_byindex(file= 'G:/123.xls',colnameindex=0,by_index=0,encoding='utf-8',):
data = open_excel(file)
table = data.sheets()[by_index]
nrows = table.nrows
ncols = table.ncols
colnames = table.row_values(colnameindex)
list =[]
for rownum in range(1,nrows):

row = table.row_values(rownum)
if row:
app = {}
for i in range(len(colnames)):
app[colnames[i]] = row[i]
list.append(app)
return list

def main():
tables = excel_table_byindex()
for row in tables:
print row

if __name__=="__main__":
# gbkToUtf8(".")
main()
最好是加我q详谈。 2101949880
大神们帮帮忙啊 , 小弟真的是很急。
展开
 我来答
yx陈子昂
高粉答主

2014-10-14 · 每个回答都超有意思的
知道大有可为答主
回答量:3.2万
采纳率:75%
帮助的人:3838万
展开全部
如果知道编码方式可以在open时指定
book = open_workbook('123.xls',encoding='cp1252')
更多追问追答
追问
不好使, 你能调试好把所有代码发上来么?
追答
除了一个循环自变量有问题,其他跑的没问题啊。
你excel文件保存的encoding是什么
import traceback
import xlrd

def open_excel(file= 'D:/123.xls'):
try:
data = xlrd.open_workbook(file)
return data
except Exception as ex:
print(ex)

def excel_table_byindex(file= 'D:/123.xls',colnameindex=0,by_index=0,encoding='utf-8',):
data = open_excel(file)
table = data.sheets()[by_index]
nrows = table.nrows
ncols = table.ncols
colnames = table.row_values(colnameindex)
list =[]
for rownum in range(nrows):

row = table.row_values(rownum)
if row:
app = {}
for i in range(len(colnames)):
app[colnames[i]] = row[i]
list.append(app)
return list

def main():
tables = excel_table_byindex()
for row in tables:
print(row, '\n')

if __name__=="__main__":
# gbkToUtf8(".")
main()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhengyw55
2014-10-18 · 超过26用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:56万
展开全部
试试把数据编码为utf8再看?

data.encode('utf8')
追问
哥们你能改好了。 然后把整篇改好的代码一起发一下么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-10-15
展开全部
300python普及课程群为你解惑,欢迎加盟!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式