【问题标题】:How to Read Latest Created CSV File? [closed]如何读取最新创建的 CSV 文件? [关闭]
【发布时间】:2019-12-19 16:19:02
【问题描述】:

我今天创建了一些 xlsx 文件。如何让 pandas 读取最新的并转换为 csv(同时保留文件名)?

【问题讨论】:

    标签: python pandas csv


    【解决方案1】:

    用途:

    #https://stackoverflow.com/a/39327156
    list_of_files = glob.glob('/path/to/folder/*') 
    latest_file = max(list_of_files, key=os.path.getctime)
    
    df  = pd.read_excel(latest_file)
    
    df.to_csv(os.path.basename(latest_file).split('.')[0] + '.csv', index=False)
    

    【讨论】:

      【解决方案2】:

      虽然已经提出了答案,但我想添加getmtime 和getctime 的使用。

      ctime 会随着文件的所有权或权限的变化以及文件中的数据发生变化而变化。 mtime 仅在文件中的数据发生更改时更改。

      >>> import pandas as pd
      >>> import os
      >>> import glob
      

      结果:

      >>> latest_file = max(glob.glob('/home/karn/*.csv'), key=os.path.getmtime)
      >>> latest_file
      '/home/karn/test_new_2.csv'    
      >>> df  = pd.read_csv(latest_file)
      >>> df
         10  20  30
      0  40  50  60
      

      因此,如果您希望选择文件中具有最新数据更改的文件,那么我将使用 getmtime 而不是 getctime。

      glob.glob 的限制是不匹配以 . 开头的文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-14
        • 2011-01-26
        • 2019-04-09
        • 1970-01-01
        • 2018-02-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多