【问题标题】:python / pandas - Import last modified .xlsx file from a directorypython / pandas - 从目录导入最后修改的 .xlsx 文件
【发布时间】:2020-12-02 12:49:54
【问题描述】:

我在 Dropbox 中有一个文件夹,路径为:

C:\Users\Sophocles PC\Dropbox\RGS Delivery\Impact Coefficients\Consumer Discretionary\CD_LG_Apparel_Accessories_Luxury_Goods\Data\CD_LG_DataOutputs

我想导入上次修改的 .xlsx 文件。我使用代码:

list_of_files = glob.glob(r'C:\Users\Sophocles PC\Dropbox\RGS Delivery\Impact Coefficients\Consumer Discretionary\CD_LG_Apparel_Accessories_Luxury_Goods\Data\CD_LG_DataOutputs/*') 
latest_file = max(list_of_files, key=os.path.getctime)

latest_file,打印:

C:\Users\Sophocles PC\Dropbox\RGS Delivery\Impact Coefficients\Consumer Discretionary\CD_LG_Apparel_Accessories_Luxury_Goods\Data\CD_LG_DataOutputs\~$CD_LG_Results - 2020-11-27 - mean - v2.xlsx

这实际上是最新的文件,因此是我要导入的文件。 但是,当我尝试导入文件时:

x = pd.read_excel(latest_file)

我收到以下错误: XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'\x0cSophocl'

我不知道如何解决这个错误,但我也认为解决这个问题应该是相当直接的。对此的任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 可能与此相关:stackoverflow.com/questions/16504975/…。 read_csv 有效吗?
  • 我认为该文件是一个临时文件,~$ 这表明它。关闭文件重启电脑再试一次,~$应该不会来。它是电子表格打开时创建的临时文件
  • 可能你必须删除保管箱中的那个临时文件
  • 谢谢@VigneshRajendran,我认为这就是问题所在。我能够使用以下方法解决它:x = pd.read_excel(f"{latest_file}".replace('~$',''),sheet_name=2)
  • 很高兴@sophods

标签: python excel glob xlrd last-modified


【解决方案1】:

使用以下代码删除~$(临时文件)后问题已解决:

x = pd.read_excel(f"{latest_file}".replace('~$',''),sheet_name=2)

谢谢。

【讨论】:

    猜你喜欢
    • 2012-02-15
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多