How do you read excel files with xlrd on Appengine

喜你入骨 提交于 2019-12-03 05:09:43

Find a solution finally

here's how I do it. Instead of saving the file, I read the content of the file and let xlrd reads it

def read_rows(inputfile):
  rows = []
  wb = xlrd.open_workbook(file_contents=inputfile.read())
  sh = wb.sheet_by_index(0)
  for rownum in range(sh.nrows):
    rows.append(sh.row_values(rownum))
  return rows

worked nicely and turned the excel files into JSON-able formats. If you want to output the json simply use json.dumps().

full code example can be found at https://github.com/cjhendrix/HXLator/blob/master/gae/main.py and it features full implementation of the xlrd and how to work with the data.

Thx for the pointers

Use:

wb = xlrd.open_workbook(file_contents=inputfile)

The way you are invoking open_workbook expects what you're passing in to be a filename, not a Flask FileStorage object wrapping the actual file.

WooParadog

Judge from your traceback.

File "/Users/fauzanerichemmerling/Desktop/GAEHxl/gae/lib/xlrd/init.py", line 941, in biff2_8_load
    f = open(filename, open_mode)

You can try changing this line to :

f = filename
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!