繁体   English   中英

如何在Python 3.7中将未知的.XLS文件的名称转换为变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM