当前位置: 首页 > 知识库问答 >
问题:

如何将此文件下载到带有当天日期戳的文件夹中?

高玮
2023-03-14

我有下面的代码,可以将工作表下载到我电脑上的文件夹中。如何让它将excel工作表下载到新创建的带有当前日期戳的文件夹中?例如,我希望将文件下载到名为:

C:/Users/E29853/OneDrive/Smartsheets/Templates/20220610/

对于2022年6月10日下载的任何文件。

这是我拥有的代码:

import os, smartsheet

token=os.environ['SMARTSHEET_ACCESS_TOKEN']

smartsheet_client = smartsheet.Smartsheet(token)

smartsheet_client.errors_as_exceptions(True)

smartsheet_client.Sheets.get_sheet_as_excel(
  8729488427892475,
  'C:/Users/E29853/OneDrive/Smartsheets/Templates',
  'Region.xlsx'
)

共有1个答案

宗增
2023-03-14

为了增强现有代码以实现您的既定目标,您需要知道如何使用Python实现以下两件事:

  1. 如何获取YYMMDD格式的当前日期(字符串)
  2. 如何创建一个新目录,如果它还不存在

我自己也是Python的新手,但是多亏了Google,我才能够理解这一点。如果对你将来有帮助,下面是我解决这个问题的过程。

第1步:确定如何在Python中获取当前日期(yyyymmdd)

  • Google搜索<code>python获取当前日期yyyymmdd
  • 顶部搜索结果是堆栈溢出,答案为:

现在我知道如何获取所需格式的日期字符串,我将能够将其与表示我的基本路径的字符串连接起来,以获取我的目标路径:

# specify path
path = 'c:/users/kbrandl/desktop/' + current_date

第2步:确定如何在Python中创建目录(如果它不存在)

  • 谷歌搜索python创建文件夹(如果不存在)
  • 再一次,顶部的搜索结果提供了我正在寻找的示例代码。

有了这些信息,我现在知道如何创建我的目标目录(文件夹),如果它尚不存在:

# create directory if it doesn't exist
if not os.path.exists(path):
    os.mkdir(path)

现在将所有这些放在一起……下面的代码实现了您声明的目标。

import os, smartsheet
from datetime import datetime

sheetId = 3932034054809476

# get current date in yyyymmdd format
current_date = datetime.today().strftime('%Y%m%d')

# specify path
path = 'c:/users/kbrandl/desktop/' + current_date

# create directory if it doesn't exist
if not os.path.exists(path):
    os.mkdir(path)

# download file to specified path
smartsheet_client.Sheets.get_sheet_as_excel(
    sheetId,
    path,
    'MyFileName.xlsx'
)
 类似资料:
  • 问题内容: 我在将包含该文件夹中文件的文件夹复制到另一个文件夹时遇到一些问题。Command 不会复制文件夹中的文件。 问题答案: 您正在寻找的选项是。 如果不存在,将创建它。 意味着。您也可以使用,因为它不区分大小写。 请注意根据@ muni764的注释添加尾随的细微差别。

  • 虽然我进入实现从相当长的时间,但新的发展。

  • 我有以下代码,它基于今天的日期创建一个文件夹,并将文件从一个文件夹移动到新的文件夹。我有以下代码: 此代码创建一个文件夹,但不将任何文件复制到新创建的文件夹。正在将文件从FTP服务器复制到新文件夹。请建议一些复制这些文件的更改。 谢谢!

  • 问题内容: 我正在尝试使用HttpClient下载PDF文件。我可以获取文件,但是我不确定如何将字节转换为PDF并将其存储在系统中的某个位置 我有以下代码,如何将其存储为PDF? 问题答案: 编辑: 您还可以使用BufferedOutputStream和BufferedInputStream来加快下载速度:

  • 文件名的开始是相同的,但结束是动态的,每次我点击下载时都会改变 我所做的: 你能帮忙吗

  • 我正在使用Jenkins自动化我们的构建和发布过程。 在Jenkins下执行作业时,时间戳不会显示在控制台构建日志中 为了在控制台构建日志中添加时间戳,我已经下载了“timestamp”插件,并在Jenkins下的每个作业配置中启用了“将时间戳添加到控制台输出”选项。现在,时间戳被添加到Jenkins中的控制台构建日志中。 但是当我在Jenkins home目录下的“jobs”文件夹中检查同一个构