0

我正在尝试使用 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. “解析器”模块有什么作用?

4

3 回答 3

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'

我们去吧!

于 2017-12-23T02:23:00.830 回答
0

有时您可能无法使用

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

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

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

于 2018-11-30T06:49:30.283 回答
-1

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

于 2017-12-23T02:10:01.567 回答