【问题标题】:How can I read a file with now time involved in the full path如何读取包含完整路径的现在时间的文件
【发布时间】:2022-09-28 17:06:15
【问题描述】:

我想读取 xls 文件中的单元格 V31 但失败了 如何在完整路径中打开具有函数的文件?

  • “它失败了”到底是什么意思?

标签: python


【解决方案1】:

你的问题是你是逃跑执行此操作时,带有反斜杠 \ 的右引号:

r"C:\User\"

这意味着字符串继续,最后一个 " 只是成为字符串的一部分。这意味着所有这些都变成了一个字符串:

r"C:\User\" +  time + "

此外,如果您想要返回值您的 time 函数要包含在路径中,您实际上需要称呼它,意味着你需要做time(),而不仅仅是time。后者只是对可调用/函数的引用,而前者实际调用它并返回一个值。

为了避免大多数路径问题,我建议尽可能使用pathlib。 Path 类负责正确连接文件路径的各个部分,自动考虑您的操作系统,并且还允许您使用路径做一大堆其他有用的事情。

在您的示例中,我将这样做:

    ...
    path = Path("C:/User", time(), "SRMR_207228_1200326491_Portfolio_Margin_286165_1.xls")
    xls = pd.ExcelFile(path)
    ...

PS:

由于对原始字符串文字在 Python 中的工作方式似乎存在一些误解,here 是文档中的相关部分。这是相关部分:

反斜杠 (\) 字符 [...] 也可用于转义具有特殊含义的字符,例如换行符、反斜杠本身或引号字符. [...] 即使在一个原始文字, 引号可以用反斜杠转义。

(由我缩写和突出显示。)

【讨论】:

  • 不过,您引用了有关常规字符串而不是原始字符串的文档的一部分。
  • @mkrieger1 你是对的。我现在添加了缺少的句子。
猜你喜欢
  • 2016-09-10
  • 2011-01-08
  • 1970-01-01
  • 1970-01-01
  • 2019-01-14
  • 2011-04-19
  • 2019-01-25
  • 1970-01-01
  • 2011-10-23
相关资源
最近更新 更多