【问题标题】:Pandas can't find the relevant file熊猫找不到相关文件
【发布时间】:2017-12-23 01:54:00
【问题描述】:

我正在尝试使用 pandas 模块在 python 中进行 t 检验。但是,同样的错误不断发生,我的目标文件无法找到。在这种情况下,目标文件是brain_size.csv,其中分隔符是分号。留空的值由句点表示。

这是我输入的内容:

import pandas as pd
data = pd.read_csv('This PC\Desktop\brain_size.csv', sep=';', na_values='.')

这是错误消息。这是一个很长的字符串

File "C:\Users\Tina Gnali\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 562, in parser_f
  return _read(filepath_or_buffer, kwds)
  File "C:\Users\Tina Gnali\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 315, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "C:\Users\Tina Gnali\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 645, in __init__
    self._make_engine(self.engine)
  File "C:\Users\Tina Gnali\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 799, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)
  File "C:\Users\Tina Gnali\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 1213, in __init__
    self._reader = _parser.TextReader(src, **kwds)
  File "pandas\parser.pyx", line 358, in pandas.parser.TextReader.__cinit__ (pandas\parser.c:3427)
  File "pandas\parser.pyx", line 628, in pandas.parser.TextReader._setup_parser_source (pandas\parser.c:6861)
OSError: File b'This PC\\Desktop\x08rain_size.csv' does not exist
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>

我想问:

  1. 我做错了什么?为什么我无法检索目标文件?

  2. 为什么我的错误会引发这么长的错误消息?

  3. “解析器”模块有什么作用?

【问题讨论】:

    标签: python pandas t-test


    【解决方案1】:

    问题在于使用反斜杠“\”。您必须避免这种情况。反斜杠保留用于称为转义字符的东西,例如用“\n”表示的新行之类的东西。在 read_csv() 中使用双反斜杠“\\”或只使用正斜杠“/”或原始文字:

    "C:\\Users\\blabla\\"
    

    "C:/Users/blabla/"
    

    r"C:\Users\blabla\"
    

    关于如何识别错误,请在错误消息中查找“错误”字符串。在这里:

    OSError: File b'This PC\\Desktop\x08rain_size.csv' does not exist
    

    这告诉你 Python 正在寻找一个名为“x08rain_size.csv”的文件,显然你没有这样的文件。但是什么是 x08rain?当你在它前面放置一个反斜杠时,它会被替换为 x08 吗?让我们向 Python 提问:

    In [247]: '\b'
    Out[247]: '\x08'
    

    我们去吧!

    【讨论】:

      【解决方案2】:

      有时您可能无法使用

      "C:\\Users\\blabla\\" or "C:/Users/blabla/"
      

      解决方案 1. 另一个选项可能是: 打开 Anaconda 提示符或 cmd,然后更改路径。假设您在驱动器“c”中,并且您的文件夹在驱动器 e 中。所以打开cmd后写“e:”并回车。然后该命令将显示“E:\&gt;”。现在你应该写“cd E:\Users\blabla\desired_folder”。运行之后,你应该写“jupyter notebook”并运行它。它将在包含您的文件的同一文件夹中生成并打开一个新笔记本。

      解决方案 2. 另一个简单的解决方案是,打开jupyther notebook&gt; file&gt; 后,使用文件夹图标并选择正确的文件夹。

      【讨论】:

        【解决方案3】:

        可能是 sep 不同,它可能是 "," 尝试它,如果仍然不起作用,请尝试删除 sep 和 na 值并尝试将文件保留在程序所在的同一目录中或提供实际的路径

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-12-02
          • 2020-06-23
          • 1970-01-01
          • 1970-01-01
          • 2016-02-27
          • 2020-02-14
          • 2016-01-15
          • 2018-02-21
          相关资源
          最近更新 更多