首页 > 其他分享 >pytnon -- 解决在excel使用pyxll-jupyter时读取excel文件出现”OSError: [Errno 22] Invalid argument: '\u202aD:“

pytnon -- 解决在excel使用pyxll-jupyter时读取excel文件出现”OSError: [Errno 22] Invalid argument: '\u202aD:“

时间:2024-03-04 17:24:01浏览次数:21  
标签:engine OSError jupyter excel storage path handle options

 

在jupyter中运行以下代码:

import pandas as pd
dataset = pd.read_excel(r'‪D:\a.xlsx', sheet_name='Sheet1')
print(dataset)

出现报错信息:

---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
Cell In[39], line 2
      1 import pandas as pd
----> 2 dataset = pd.read_excel(r'‪D:\a.xlsx', sheet_name='Sheet1')
      3 print(dataset)

File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\io\excel\_base.py:495, in read_excel(io, sheet_name, header, names, index_col, usecols, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, date_format, thousands, decimal, comment, skipfooter, storage_options, dtype_backend, engine_kwargs)
    493 if not isinstance(io, ExcelFile):
    494     should_close = True
--> 495     io = ExcelFile(
    496         io,
    497         storage_options=storage_options,
    498         engine=engine,
    499         engine_kwargs=engine_kwargs,
    500     )
    501 elif engine and engine != io.engine:
    502     raise ValueError(
    503         "Engine should not be specified when passing "
    504         "an ExcelFile - ExcelFile already has the engine set"
    505     )

File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\io\excel\_base.py:1550, in ExcelFile.__init__(self, path_or_buffer, engine, storage_options, engine_kwargs)
   1548     ext = "xls"
   1549 else:
-> 1550     ext = inspect_excel_format(
   1551         content_or_path=path_or_buffer, storage_options=storage_options
   1552     )
   1553     if ext is None:
   1554         raise ValueError(
   1555             "Excel file format cannot be determined, you must specify "
   1556             "an engine manually."
   1557         )

File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\io\excel\_base.py:1402, in inspect_excel_format(content_or_path, storage_options)
   1399 if isinstance(content_or_path, bytes):
   1400     content_or_path = BytesIO(content_or_path)
-> 1402 with get_handle(
   1403     content_or_path, "rb", storage_options=storage_options, is_text=False
   1404 ) as handle:
   1405     stream = handle.handle
   1406     stream.seek(0)

File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\io\common.py:882, in get_handle(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)
    873         handle = open(
    874             handle,
    875             ioargs.mode,
   (...)
    878             newline="",
    879         )
    880     else:
    881         # Binary mode
--> 882         handle = open(handle, ioargs.mode)
    883     handles.append(handle)
    885 # Convert BytesIO or file objects passed with an encoding

OSError: [Errno 22] Invalid argument: '\u202aD:\\a.xlsx'

 

出现问题的原因是,之前写代码的时候,文件的读取路径是“点击目标文件右键-》复制安全模块里面的路径”,然后直接粘贴在代码中。

经网上查阅资料,说这样操作会导致路径首部被自动填充一个空格导致路径错误。但查看代码并看不出有空格的情况。

解决的方法:尝试过将第一个字符删掉重新输入运行,仍然报一样的错误。后面将文件路径全部删掉,手动重新输入即可。

 

代码修改后如下:(两份代码看不出差别)

import pandas as pd
dataset = pd.read_excel(r'D:\a.xlsx', sheet_name='Sheet1')
print(dataset)

运行后显示:

Empty DataFrame
Columns: [111, 222, 333, 444]
Index: []

 

标签:engine,OSError,jupyter,excel,storage,path,handle,options
From: https://www.cnblogs.com/lmei/p/18052175

相关文章

  • 使用 Java 在Excel中创建下拉列表
    下拉列表(下拉框)可以确保用户仅从预先给定的选项中进行选择,这样不仅能减少数据输入错误,还能节省时间提高效率。在MSExcel中,我们可以通过“数据验证”提供的选项来创建下拉列表,但如果要在Java程序中通过代码实现这一功能,可能需要借助一些第三方库。本文将分享两种使用免费Java库......
  • python -- 解决安装pyxll-jupyter时出现“TimeoutError: The read operation timed ou
     在cmd输入命令”pipinstallpyxll-jupyter“进行安装,控制台出现以下报错信息:Downloadingpyxll_jupyter-0.5.2-py3-none-any.whl(46kB)----------------------------------------46.3/46.3kB16.1kB/seta0:00:00Downloadingjupyter-1.0.0-py2.py3-none-any.whl......
  • 如何在 C# 中以编程的方式将 CSV 转为 Excel XLSX 文件
    前言MicrosoftExcel的XLSX格式以及基于文本的CSV(逗号分隔值)格式,是数据交换中常见的文件格式。应用程序通过实现对这些格式的读写支持,可以显著提升性能。在本文中,小编将为大家介绍如何在Java中以编程的方式将【比特币-美元】市场数据CSV文件转化为XLSX文件。具体操作步骤如下:......
  • python 与jupyter notebook 安装和环境配置
    一、pyhon环境安装下载Python:首先,从Python官方网站(https://www.python.org/downloads/)Download点击下载Python的安装程序运行安装程序:下载完成后,运行Python的安装程序。在安装过程中,确保勾选“AddPythontoPATH”选项,这样可以方便在命令行中使用Python自定义目录......
  • Npoi操作Excel单元格合并
    publicasyncTask<byte[]>ExportNewReportByQuotationId(GuidquotationId){//stringsql=@$"select""Id""asModelId,(q.qq).keyaskey,(q.qq).valueasmyValuefrom(withaas(select""Id"&q......
  • python环境安装与配置 Jupyter Notebook的环境配置
    浏览器上搜索python官网进入官网,点击downloads(下载的意思)在里面自行选择在这里选择需要的版本,点击即可选择自定义安装,勾选添加环境变量下一步全选,第三步修改安装路径,怎么方便怎么来安装成功后,点击键盘Windows+R键进入运行输入cmd进入后输入python可以查看python版本,......
  • 前端 xlsx js javascript 处理excel 数据展示 日期格式处理
     1、参考https://blog.csdn.net/Seven71111/article/details/107375712https://blog.csdn.net/weixin_44987713/article/details/130129282 https://blog.csdn.net/qq_57952018/article/details/134812452 2、存在的问题a、千年虫b、定义一个转换日期格式的方法(转成......
  • C# MiniExcel 导入和导出表格数据
    C#MiniExcel导入和导出表格数据1.首先从NuGet包里下载MIniExcel文件引入然后下面是一段Api控制器导入的代码导入导出的表格用.xlsx或.xls工作表///<summary>///上传文件到服务器端///</summary>///<paramname="formFile"></param>///<returns></returns>[......
  • python生成Excel文件减少使用内存
    1、openpyxl模块生成2、xlsxwriter模块contant_memory=True生成TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChineseSimplifiedHungarianRussianChineseTraditionalIndonesianSlovak......
  • Python环境安装与配置及Jupyter Notebook的环境配置
    找到Python的官网:https://www.python.org/选择Downloads选择想要的版本点击进去后下载安装勾选Useadminprivilegeswheninstallingpy.exe(安装py.exe时使用管理员权限)和Addpython.exetoPATH(PATH是Python的环境变量,Python在安装时会自动配置环境变量)有Installnow(......