Google Colaboratory:导入数据,超出堆栈大小?

i2_*_*i2_ 1 python-3.x google-colaboratory

我正在尝试使用此代码从文件夹中导入数据

from google.colab import files

uploaded = files.upload()

for fn in uploaded.keys():
  print('User uploaded file "{name}" with length {length} bytes'.format(name=fn, length=len(uploaded[fn])))
Run Code Online (Sandbox Code Playgroud)

但是它给了我这个错误:

Traceback (most recent call last) <ipython-input-7-3ff52e25531b> in <module>()
      1 from google.colab import files
      2 
----> 3 uploaded = files.upload()
      4 
      5 #for fn in uploaded.keys():

/usr/local/lib/python3.6/dist-packages/google/colab/files.py in upload()
     70     result = _output.eval_js(
     71         'google.colab._files._uploadFilesContinue("{output_id}")'.format(
---> 72             output_id=output_id))
     73     if result['action'] != 'append':
     74       # JS side uses a generator of promises to process all of the files- some

/usr/local/lib/python3.6/dist-packages/google/colab/output/_js.py in eval_js(script, ignore_result)
     37   if ignore_result:
     38     return
---> 39   return _message.read_reply_from_input(request_id)
     40 
     41 

/usr/local/lib/python3.6/dist-packages/google/colab/_message.py in read_reply_from_input(message_id, timeout_sec)
    104         reply.get('colab_msg_id') == message_id):
    105       if 'error' in reply:
--> 106         raise MessageError(reply['error'])
    107       return reply.get('data', None)
    108
MessageError: RangeError: Maximum call stack size exceeded.
Run Code Online (Sandbox Code Playgroud)

我不明白。是数据相对较大(22578685bytes)的原因还是由于JavaScript?

Gay*_*ppu 19

我在 mac 上的 safari中使用 colab然后它给了我这个错误。尝试从上面提到的按钮上传,但没有成功。

只需在Google Chrome中运行 colab ,它对我来说运行得很顺利。


Bob*_*ith 8

My suggestion is to try uploading the file using the file browser instead. (It uses a distinct transport that's much more efficient, particularly for large files.)

在此处输入图片说明

Does that correct the problem?


小智 5

如果@bob-smith 的建议不起作用,请尝试使用其他浏览器。我尝试了不同的解决方法,但问题在于我使用的是勇敢的浏览器。

试试 Chrome,对我来说它成功了。