【问题标题】:Python pandas read CSV from sibling directoryPython pandas 从同级目录中读取 CSV
【发布时间】:2021-10-24 06:37:53
【问题描述】:
+-- parent_dir
|   +-- dir1
|       +-- script.py 
|   +-- dir2
|       +-- mycsv.csv

我们如何从script.py 脚本中读取mycsv.csv。我们尝试了pd.read_csv("../dir2/mycsv.csv") 并收到错误FileNotFoundError: [Errno 2] No such file or directory:

【问题讨论】:

  • 你的工作目录是什么?
  • 好问题 - 本地是 dir1 但在生产中它可能是某个主文件夹
  • 感觉很笨,但是当我们修复字符串中的 TYPO,工作目录为 dir1 时,上面的导入 实际上确实有效。但是,这在 dir1 不是工作目录的生产环境中不起作用,所以很高兴我们问了!

标签: python pandas directory


【解决方案1】:

大概你实际上并没有从 dir1 内部运行它(即使你认为你是)

只要你能做到

 file_dir = os.path.dirname(__file__)
 csv_path = os.path.join(file_dir,"..","dir2","mycsv.csv")

然后无论你从哪里运行它都应该可以工作

顺便说一句,你可以试试

print(os.getcwd())

查看你实际从哪里执行它

【讨论】:

  • 我以为只有 PHP 有 __FILE__! (谢谢!)
【解决方案2】:

这更多地取决于您尝试运行 script.py 的位置。

例如,如果您在parent_dir 中并且您在python dir1/script.py 中,那么您会将mycsv.csv 称为dir2/mycsv.csv

因此,您要么需要指定完整路径,例如/home/user/parent_dir/dir2/mycsv.csv.

如果该位置始终与您提到的script.py 相关;你会按照上面的答案做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-05
    • 2016-01-06
    • 1970-01-01
    • 2016-02-03
    • 2017-06-04
    • 1970-01-01
    • 2021-12-08
    • 2021-01-23
    相关资源
    最近更新 更多