我正在使用Python 3.7 .
每次下载到特定的下载文件夹位置时,我都必须下载一个具有唯一文件名的excel文件(.xls) .
然后使用Python和Pandas,我必须打开excel文件并将其读取/转换为数据帧 .
我想自动化这个过程,但是我告诉Python将XLS文件的全名作为变量,然后pandas将使用它:
# add dependencies and set location for downloads folder
import os
import glob
import pandas as pd
download_dir = '/Users/Aaron/Downloads/'
# change working directory to download directory
os.chdir(download_dir)
# get filename of excel file to read into pandas
excel_files = glob.glob('*.xls')
blah = str(excel_files)
blah
那么例如,“blah”的输出是:
"['63676532355861.xls']"
我也试过在上面的块中使用“blah = print(excel_files)”而不是“str”方法,并将其分配给变量,但仍然无效 .
然后剩下的过程将执行以下操作:
# open excel (XLS) file with unknown filename in pandas as a dataframe
data_df = pd.read_excel('WHATEVER.xls', sheet_name=None)
然后我将其转换为数据框后,我想删除excel文件 .
到目前为止,我花了很多时间阅读fnames,io,open,os.path和其他库 .
我仍然不知道如何将未知的.XLS文件的名称变为变量,然后再删除该文件 .
任何建议将不胜感激 .
2 回答
检查一下,
matching
将包含所有excel文件列表 .因为你只有一个excel文件,你可以保存在像
file_name = matching[0]
这样的变量中此代码在指定路径中找到xls文件,读取xls文件并删除该文件 . 如果您的目录包含多个xls文件,则会读取最后一个 . 如果找到多个xls文件,您可以执行任何操作 .