使用widgets.FileUpload上传CSV后调用pd.read_csv报ValueError问题问询
问题解决:ipywidgets FileUpload 上传CSV后pandas读取报错
错误根因
ipywidgets.FileUpload组件的value属性返回值为字典类型,不符合pd.read_csv要求的文件路径、类文件对象或字节流输入要求。该字典的结构为{上传文件名: {'metadata': 文件元数据, 'content': 文件二进制内容}},直接传入会触发类型不匹配错误。
修复代码(单文件上传场景,即你当前multiple=False的配置)
import pandas as pd import io # 提取上传文件的二进制内容 uploaded_content = next(iter(input_file.value.values()))['content'] # 用io.BytesIO将二进制内容包装为类文件对象后传入read_csv data = pd.read_csv(io.BytesIO(uploaded_content), encoding="ISO-8859-1")
拓展:多文件上传场景(multiple=True时)
import pandas as pd import io df_list = [] # 遍历所有上传文件逐个读取 for file_info in input_file.value.values(): current_df = pd.read_csv(io.BytesIO(file_info['content']), encoding="ISO-8859-1") df_list.append(current_df)
读取完成后可执行data.head()验证数据加载结果。
内容的提问来源于stack exchange,提问作者goe
相关产品推荐
相关产品推荐

