【问题标题】:NameError: in the file directory I'm trying to load a data for analysisNameError:在文件目录中,我正在尝试加载数据进行分析
【发布时间】:2020-12-24 19:13:20
【问题描述】:

我开始在 MacOSX 上的 Chrome 上使用 Google Colab,遇到了以下问题。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#matplotlib inline

df = pd.read_csv(/Users/Shin/Box/PROJECTS/SOKENDAI/python_lesson/able_programing/titanic/'train.csv')
df.head

然后我得到下面的错误。我是初学者,不确定我放置文件目录的方式是否错误。我试过“c:Users”“~Users”,但没用。 感谢您的帮助。

NameError Traceback(最近一次调用最后一次) 在 () ----> 1 df = pd.read_csv(~Users/Shin/Box/PROJECTS/SOKENDAI/python_lesson/able_programing/titanic/'train.csv') 2 df.head

NameError: 名称“用户”未定义

【问题讨论】:

  • '放在train.csv前面/Users/...前面,整个事情就是你要传递的str(字符串)。

标签: python nameerror


【解决方案1】:

使用 python 的路径有一个常见的技巧。

  • 如果您正在构建一个应用程序,用户可以超越您自己,最好的方法是请求输入:
file_path = input('Please input csv file path below: ')

这样,python str 类将自动处理斜线转换,您不必处理诸如\\\/// 之类的东西。然后在测试中,你需要复制绝对路径并粘贴进去。

  • 另一种情况是py文件和csv捆绑在相关目录中,这种情况下使用如下格式的相对路径:
file_path = './train.csv'

我个人一直使用第一种方法,虽然做的有点多,但没有潜在的bug。另外,在MacOS上复制abs路径,打开一个新的终端,把文件拖进去,就可以复制路径了。

【讨论】:

  • 感谢您的帮助。我正在处理后一种情况,但这些文件没有捆绑在一起。所以,我复制了从 finder>get info. 复制的绝对文件路径,但它不起作用。是否有可能我也必须将目标文件放在 Google Drive 上?
【解决方案2】:

/Users/Shin/Box/PROJECTS/SOKENDAI/python_lesson/able_programing/titanic/train.csv 需要是一个字符串。 Python 无法判断这是否是文件路径。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#matplotlib inline

df = pd.read_csv('/Users/Shin/Box/PROJECTS/SOKENDAI/python_lesson/able_programing/titanic/train.csv')
df.head

【讨论】:

  • 感谢您的帮助。我尝试了你在这里的建议,但没有运气。是否有可能我也必须将目标文件放在 Google Drive 上?
  • @ShinSano 我不知道。您可能应该为此提出另一个问题。你也能接受我的回答吗?它为您提供声誉并帮助未来的访问者。
猜你喜欢
  • 2012-11-01
  • 2019-08-08
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-22
  • 2019-10-09
相关资源
最近更新 更多