[英]how to get the name of an unknown .XLS file into a variable in Python 3.7
我正在使用Python 3.7。
每当我将其下载到特定的下载文件夹位置时,都必须下载一个具有唯一文件名的excel文件(.xls)。
然后,使用Python和Pandas,我必须打开excel文件并将其读取/转换为数据框。
我想自动化该过程,但是我很难告诉Python将XLS文件的全名作为变量获取,然后熊猫将使用它:
# 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文件的名称转换为变量,然后再删除该文件。
任何建议将不胜感激。
检查一下
lst = os.listdir()
matching = [s for s in lst if '.xls' in s]
matching
将具有所有excel文件列表。
由于只有一个excel文件,因此可以保存在类似file_name = matching[0]
变量中
该代码在指定的路径中找到一个xls文件,然后读取该xls文件并删除该文件。如果目录中包含多个xls文件,它将读取最后一个文件。如果找到多个xls文件,则可以执行所需的任何操作。 。
import os
for filename in os.listdir(os.getcwd()):
if filename.endswith(".xls"):
print(filename)
#do your operation
data_df = pd.read_excel(filename, sheet_name=None)
os.remove(filename)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.