widgets.FileUpload - 阅读上传的 CSV
widgets.FileUpload - Read the uploaded CSV
我正在使用 widgets.FileUpload
将 CSV 上传到 jupyter 并阅读。我正在使用下面的哟上传。
input_file = widgets.FileUpload(
accept='.csv', # Accepted file extension e.g. '.txt', '.pdf', 'image/*', 'image/*,.pdf'
multiple=False # True to accept multiple files upload else False
)
input_file
我已经上传了文件,当我打印时print(input_file.value)
我可以看到数据。
但是当我通读 data = pd.read_csv(input_file.value, encoding = "ISO-8859-1")
我看到下面的错误
ValueError: Invalid file path or buffer object type: <class 'dict'>
请指点。
input_file.value
通常是一个字典元组,因此您需要访问实际的文件数据。如果您只上传了一个文件,这可能在 input_file.value[0]['content']
下。试试这个:
import codecs
uploaded_file = list(input_file.value.values())[0]
csv_text = codecs.decode(uploaded_file.content)
data = pd.read_csv(csv_text)
查看此处了解更多信息:https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20List.html#File-Upload
我正在使用 widgets.FileUpload
将 CSV 上传到 jupyter 并阅读。我正在使用下面的哟上传。
input_file = widgets.FileUpload(
accept='.csv', # Accepted file extension e.g. '.txt', '.pdf', 'image/*', 'image/*,.pdf'
multiple=False # True to accept multiple files upload else False
)
input_file
我已经上传了文件,当我打印时print(input_file.value)
我可以看到数据。
但是当我通读 data = pd.read_csv(input_file.value, encoding = "ISO-8859-1")
我看到下面的错误
ValueError: Invalid file path or buffer object type: <class 'dict'>
请指点。
input_file.value
通常是一个字典元组,因此您需要访问实际的文件数据。如果您只上传了一个文件,这可能在 input_file.value[0]['content']
下。试试这个:
import codecs
uploaded_file = list(input_file.value.values())[0]
csv_text = codecs.decode(uploaded_file.content)
data = pd.read_csv(csv_text)
查看此处了解更多信息:https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20List.html#File-Upload