2024-04-17 20:26:33 发布
网友
我有一个脚本,可以下载大约1000个csv文件,将它们排序为5个csv文件,并将这5个文件排序为1个csv文件。你知道吗
这个脚本运行得很好,但是很明显,当你运行它的时候,不管你从哪里运行这个程序,你都会得到上千个csv文件。脚本完成后,是否有方法将创建的所有csv文件移动到名为“data”之类的新文件夹中?你知道吗
Thanks.
这个代码对我有用:
import glob, os, shutil source_dir = 'C:/Users/george/Desktop/my aemo app/a' dst = 'C:/Users/george/Desktop/my aemo app/b' files = glob.iglob(os.path.join(source_dir, "*.csv")) for file in files: if os.path.isfile(file): shutil.copy2(file, dst)
shutil模块允许您在Python中移动文件。语法如下:
shutil
# Preferably put this near the top of your script: import shutil # Use this to move a file: shutil.move("path/to/original/file.csv", "path/to/destination/file.csv")
如果您的所有.csv文件当前都在一个目录中,并且您希望生成其所有路径的列表(基本上相当于“ls *.csv”或“dir *.csv”),则可以使用Python的os模块:
ls *.csv
dir *.csv
os
import os my_csv_files = [] for file in os.listdir("/my_csv_dir"): if file.endswith(".csv"): my_csv_files.append(os.path.join("/my_csv_dir", file))
然后可以遍历生成的列表。或者用前面提到的move命令替换append命令,将每个命令移动到一个新文件夹。你知道吗
move
append
顺便说一下,我在您的示例中看到很多重复代码。您可能需要考虑编写两个函数来处理这些任务,这样您的代码就更易于维护,并且只有原来的1/3大小。你知道吗
这个代码对我有用:
shutil
模块允许您在Python中移动文件。语法如下:如果您的所有.csv文件当前都在一个目录中,并且您希望生成其所有路径的列表(基本上相当于“
ls *.csv
”或“dir *.csv
”),则可以使用Python的os
模块:然后可以遍历生成的列表。或者用前面提到的
move
命令替换append
命令,将每个命令移动到一个新文件夹。你知道吗顺便说一下,我在您的示例中看到很多重复代码。您可能需要考虑编写两个函数来处理这些任务,这样您的代码就更易于维护,并且只有原来的1/3大小。你知道吗
相关问题 更多 >
编程相关推荐