【问题标题】:ipywidgets - widgets.FileUpload, updated CSV file read the CSV fileipywidgets - widgets.FileUpload,更新CSV文件读取CSV文件
【发布时间】:2021-07-29 18:13:48
【问题描述】:

我正在使用 jupyterhub 并托管 .ipynb 文件并托管在服务器上。我有从 localdrive 文件上传 CSV 并为其他数据帧任务读取相同内容的用例。

uploader = widgets.FileUpload(
    accept='*.csv',  # Accepted file extension e.g. '.txt', '.pdf', 'image/*', 'image/*,.pdf'
    multiple=False  # True to accept multiple files upload else False
)

display(uploader)


[input_file] = uploader.value
print(input_file)
pd.read_csv(input_file)

print(input_file) - 正在打印 Test.csv,这是 CSV 文件名 我可以打印 [input_file] 但 `pd.read_csv(input_file)' 抛出错误

FileNotFoundError: [Errno 2] No such file or directory: 'Test.csv'

不确定 CSV 是否已上传,我如何读取该数据。请帮忙。

【问题讨论】:

  • 您可以添加到问题中并复制并粘贴您print(input_file)时显示的内容
  • @ac24 我已经更新了打印结果的问题,正确打印了 CSV 文件名。

标签: python-3.x pandas dataframe jupyter-notebook ipywidgets


【解决方案1】:

我没有你确切的 ipywidgets 版本,但你可以试试这个:

input_file = list(uploader.value.values())[0]
content = input_file['content']
content = io.StringIO(content.decode('utf-8'))
df = pd.read_csv(content)

【讨论】:

  • 谢谢大家的帮助,我已经解决了这个问题
  • 没问题。顺便说一句,使用 [input_file]=... 在右侧使用单值列表可能很好,但是您在单个字典上使用它,这对于维护代码的其他任何人来说都是非常意外的:比较 [result] = ['a'] 和 @ 987654324@,两者都以result = 'a' 结尾,但第一个比第二个更令人期待。
猜你喜欢
  • 2021-07-28
  • 1970-01-01
  • 1970-01-01
  • 2012-05-23
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多