【问题标题】:pandas cannot read csv in same directory熊猫无法读取同一目录中的 csv
【发布时间】:2021-04-09 16:02:10
【问题描述】:

我在 2 个月前就遇到了这个问题,起初它并没有打扰我,但现在我尝试使用 pd 导入文件,甚至使用 open() 导入普通 txt 文件,它给了我这个例外:

  File "C:\Users\lcc_zarkos\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\common.py", line 642, in get_handle
    handle = open(
FileNotFoundError: [Errno 2] No such file or directory: 'marketing.xlsx'

如果我使用完整路径,它只会正常运行。 人们会说“那就使用完整路径”但是当涉及在具有不同路径或类似东西的多个设备上使用该程序时,这是一个非常糟糕的解决方案 所以我希望你有任何解决方案。 这是代码:

import pandas as pd 
df = pd.read_csv('marketing.xlsx')

图片: vscode folder

编辑: 它与代码本身无关,而更像是 windows 或我的电脑

【问题讨论】:

  • 我会尝试打印出 os.getcwd()os.listdir() 以查看您是否真的在您期望的路径中执行,并且文件根据解释器存在。
  • @SamMorgan 说了什么但是......你确定这是一个 CSV 文件吗? .xlsx 文件扩展名表示这是一个 Excel 工作簿。 CSV(逗号分隔值)表示分隔的文本文件。 Excel 工作簿是一种不同的野兽。
  • 它确实是 excel 文件,但是这会改变任何东西,因为在我的代码中我输入了 read_csv('marketing.xlsx')
  • os.listdir() 返回['main.py', 'marketing .xlsx', 'requirements.txt', 'setup.py']
  • 您发布的os.listdir 输出在marketing 后面有一个空格,是拼写错误吗?

标签: python file path


【解决方案1】:

FileNotFoundError 表示您给 pandas 的文件路径指向一个不存在的文件。

在您的情况下,这可能是由以下原因引起的:

  • 您没有将文件放在脚本的当前工作目录中
  • 您的文件名中有错字

在这两种情况下,我都会打印文件路径,并使用文件浏览器检查位置,你会发现你的错误:

print(os.path.join(os.getcwd(), 'marketing.xlsx'))

【讨论】:

    【解决方案2】:

    我在那里看到文件名中有一个空格。我在mac上试过,效果很好。 ['main.py', '营销.xlsx', 'requirements.txt']

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-26
      • 2014-12-23
      • 1970-01-01
      • 2021-05-09
      • 1970-01-01
      • 2021-07-06
      • 2015-03-30
      • 2018-07-18
      相关资源
      最近更新 更多