ipywidgets - widgets.FileUpload,更新CSV文件读取CSV文件
Posted
技术标签:
【中文标题】ipywidgets - widgets.FileUpload,更新CSV文件读取CSV文件【英文标题】:ipywidgets - widgets.FileUpload, updated CSV file read the CSV file 【发布时间】: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 文件名。
【参考方案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'
结尾,但第一个比第二个更令人期待。以上是关于ipywidgets - widgets.FileUpload,更新CSV文件读取CSV文件的主要内容,如果未能解决你的问题,请参考以下文章
如何让 ipywidgets 在 Jupyter Lab 中工作?