我需要将文件复制到名称更改为ArrayFormula(E2:E*D2:D)
的子目录中(通过添加时间戳)。
我在CSV文件上使用了COPY name_timestamp
,复制完成后,我需要将CSV文件移动到子目录并将其重命名为method
。
下面是示例代码。谁能帮助我或建议我如何做?
CSV_timestamp
答案 0 :(得分:0)
这应该像完成操作时将目标路径设置为所需目录一样简单。
例如,假设您的文件位于users / foo / bar / myfile.csv中(这就是您的src
路径)。假设您希望在users / mydocuments / bar / foo / mynewfile.csv中复制该文件(这是您的dest
路径)。
您需要做的只是:
import shutil
import os
src = 'users/foo/bar/myfile.csv'
tstamp = os.path.getmtime(path)
dest = 'users/mydocuments/bar/foo/mynewfile' + tstamp + '.csv'
shutil.move(src,dest)
答案 1 :(得分:0)
遵循您的方法(使用检查目录是否存在的功能等),您可以执行以下操作:
import os
import shutil
from time import gmtime, strftime
def copyFile(old_path, new_directory):
# check if the directory already exists
if not os.path.exists(new_directory):
os.mkdir(new_directory)
print(f"Directory {new_directory} Created.")
else:
print(f"Directory {new_directory} already exists.")
# create new path from new_directory, the filename and the timestamp
new_path = new_directory + old_path.split("/")[len(old_path)-1].split(".")[0] + strftime("%Y_%m_%d", gmtime()) + ".csv"
# copy the file to the new path
try:
shutil.copy(old_path, new_path)
# eg. src and dest are the same file
except shutil.Error as e:
print(f"Error: {e}")
# eg. source or destination doesn't exist
except IOError as e:
print(f"Error: {e.strerror}")
old_path = '/path/to/directory/file.csv'
new_directory = '/path/to/new/directory/'
copyFile(old_path, new_directory)
请注意
YYYY_MM_DD
格式的邮票
当天的日期,但您可以轻松更改该日期,请参阅
time
软件包中的documentation。shutil.copy
之后,您不再需要shutil.move
,因为
第一个已经复制您的文件并将其保存到目标位置
路径。答案 2 :(得分:-1)
您可以使用os.rename()代替
import time
timestamp_name=int(time.time())
os.rename('path/to/file/name.text','path/to/file/'+timestamp_name+'.txt)