繁体   English   中英

Python 脚本不适用于某些文件名

[英]Python Script doesn't work with certain filenames

我有一个执行以下操作的脚本:如果在与脚本相同的目录中有一个以“Kobo.xlsx”结尾的文件,它会读取该文件,对其进行一些更改,从名称中定义一个“new_filename”文件,并用新文件名吐出一个 new.xlsx。 这是代码:

## Get path of Script ##

abspath = os.path.abspath(__file__)
dname = os.path.dirname(abspath)
os.chdir(dname)
files = os.listdir(dname) 
for file in files:
    if file.endswith('Kobo.xlsx'):
    
        ## Define New Filename ##
    
        filename = os.path.basename(file)
        size = len(filename)
        new_filename = (filename[:size - 9]) + "Sorted.xlsx"

        ## Pandas Things ... ##

    #### Exporting ####

    writer = pd.ExcelWriter(new_filename, engine='xlsxwriter')
    writer.save()
    

有时当我运行脚本时,会出现以下错误:

    writer = pd.ExcelWriter(new_filename, engine='xlsxwriter')
NameError: name 'new_filename' is not defined

有时当我运行脚本时,我没有。 似乎错误只出现在某些文件名上(不同的目录无关紧要)。 但是,如果我通过命令提示符 go 获取新文件名,它在两种情况下都有效(对于脚本使用的文件名,以及脚本不使用的文件名)。

如何无限期地避免错误? 提前致谢 - 如果这是一个愚蠢的问题,我们深表歉意。

除非你已经读过,否则你不想写,所以最后两行需要缩进才能成为if语句的一部分。 如果您读取的第一个文件没有以Kobo.xlsx ,那么您将尝试写入,但从未创建变量new_filename

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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