重命名文件夹中的所有.csv文件[已关闭]

pokxtpni  于 2023-11-14  发布在  其他
关注(0)|答案(4)|浏览(132)

已关闭。此问题需要更多focused。目前不接受答案。
**想要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。

两年前关闭。
Improve this question
我想重命名所有的.csv文件,假设说mac&cheese_12012010,mac&cheese_13012010,mac&cheese_14012010,mac&cheese_15012010,mac&cheese_16012010.

von4xj4u

von4xj4u1#

可以使用os.rename

import glob, os

for old in glob.glob('mac&cheese_*.csv'):
    new = old[len('mac&cheese_'):]
    os.rename(old, new)

字符串
注意,在Linux上,如果目标文件存在,它似乎会覆盖目标文件。在Windows上,它似乎不会覆盖文件。无论如何,在处理文件时,要小心
此外,使用python 3.9+,您可以替换
new = old[len('mac&cheese_'):]

new = old.removeprefix('mac&cheese_')
这样可读性更好。只是不要使用old.lstrip()

d6kp6zgx

d6kp6zgx2#

import os

# Change the directory
folder = r'E:\demos\files\reports\\'
# For Windows folder = r'E:/demos/files/reports/'

for file_name in os.listdir(folder):
    if file_name.endswith(".csv"):
        source = folder + file_name
    
        # We only want the dates
        destination = file_name.split('_')[1] +".csv"

        # Renaming the file
        os.rename(source, destination)

字符串

6ju8rftf

6ju8rftf3#

您可以在文件所在的目录中运行此代码

import os

# ONELINER
[os.rename(f, f.replace("mac&cheese_", "")) for f in os.listdir() if f.endswith(".csv")]

字符串

for file in os.listdir():
    if file.endswith(".csv"):
        os.rename(file, file.replace("mac&cheese_", ""))

ulmd4ohb

ulmd4ohb4#

有多种方法,包括:

import glob
import os
files = glob.glob('/path/to/files/*.csv')
for file in files:
    new_name = file.replace('mac&cheese_','')
    os.rename(file,new_name)

字符串

相关问题