添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
虚心的海龟  ·  Unreal Engine4 ...·  9 月前    · 

当文件存在时,文件名中的数字会递增

1 人关注

我对Python(3)还很陌生。 我有大量的传感器数据,但下载限制迫使我分块检索数据,而不是一次性检索(每个下载的.zip文件包含一个文件夹,里面有每个传感器在特定时间段的数据的.csv文件)。 因此,我有几十个大的.csv文件分布在几个文件夹中,我最终想把每个传感器的全部数据连接/合并/应用到一个.csv文件中。 让事情更复杂的是,每个传感器的.csv文件名在各个文件夹中是相同的。 我已经开发了以下代码来重命名并将文件移到一个文件夹中,这样以后我就可以串联/合并/应用了。 除了我在新的文件名中插入的数字没有递增之外,它工作得很好。

import os
path = r"C:\directory\sensordatafolders" #folders with .csv files
newPath = r"C:\directory\new" #destination for renamed files
for root, dirs, files in os.walk(path):
    for name in files:
        base, extension = os.path.splitest(name)
        if not os.path.exists(os.path.join(newPath, base + extension))
             oldfile = os.path.join(os.path.abspath(root), name)
             newfile = os.path.join(newPath, base + extension)
             os.rename(oldfile, newfile)
        else:
             i = 1
             oldfile = os.path.join(os.path.abspath(root), name)
             newfile = os.path.join(newPath, base + '_' + str(i) + extension)
             i +=1
             os.rename(oldfile, newfile)

在第二个循环之后(*.csv和*_1.csv文件成功转移),它给我带来了 "当文件已经存在时不能创建文件 "的错误。 这是因为(我认为)它一直试图创建*_1.csv文件,而不是递增到*_2.csv,等等。

python
increment
os.path
makerofmaps1
makerofmaps1
发布于 2018-04-07
1 个回答
Shahriyar Shawon
Shahriyar Shawon
发布于 2018-04-07
已采纳
0 人赞同