我今天创建了一些xlsx文件。如何让熊猫阅读最新的熊猫并转换为csv(同时保留文件名)?
答案 0 :(得分: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)
答案 1 :(得分:0)
尽管已经提出了答案,但我想添加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
有一个限制,即与。开头的文件不匹配。