簡體   English   中英

使用 Google Apps 腳本將 CSV 文件從本地 PC 上傳到 Google Sheet

[英]Upload CSV file from local PC to Google Sheet using Google Apps Script

我的本地 PC 上有一個文件夾,其中包含多個 CSV 文件。 文件根據它們的生成日期命名。 有什么方法可以獲取位於 CSV 文件夾中的今天的日期文件 (12/27/2021.csv) 並將其導入谷歌表格? 這個python 資源在某種程度上可以讓你做到這一點,但這不是你所需要的。

我已使用此 google 應用程序腳本代碼將 CSV 文件從 Google Drive 導入到 Google 工作表:

function loadCSVFilesIntoSheets() { 
  var ss=SpreadsheetApp.openById('SpreadsheetId')
  var folder=DriveApp.getFolderById('folderId');
  var files=folder.getFilesByType(MimeType.CSV);
  while(files.hasNext()) {
    var file=files.next();
    var vA=Utilities.parseCsv(file.getBlob().getDataAsString());
    var ts=Utilities.formatDate(new Date(),Session.getScriptTimeZone(),"MM/dd/yy HH:mm:ss")
    var sh=ss.insertSheet(file.getName()+'-'+ts);
    sh.getRange(1,1,vA.length,vA[0].length).setValues(vA);
  }
} 

我曾嘗試通過提供 CSV 文件路徑來使用此 Google 表格公式,但它給出了錯誤,因為此路徑不可公開訪問。

IMPORTDATA("file:///C:/Users/myUserName/myFolder/12/27/2021.csv")

我們可以使用 Google Apps 腳本將當前位於 PC 文件夾中的 CSV 文件上傳到 Google 表格嗎?

作為@Kos 建議的替代方案,您可以創建一個腳本並每天運行它。

對於此示例,我假設您將所有文件都放在名為csv的文件夾中,並且名稱的格式將是27_12_2021.csv ,例如。

步驟將是:

  1. 按照Python 快速入門中提到的步驟使drive_service正常工作。 注意:您必須將 scope 從drive.metadata.readonly更改為drive或根據您的需要調整的另一個。
  2. 創建一個腳本並放置此代碼。 考慮到drive_service()是從快速入門構建的服務:
upload.py
def get_today():
    today = datetime.datetime.now()
    day = today.strftime('%d')
    month = today.strftime('%m')
    year = today.strftime('%Y')
    return "{}_{}_{}".format(day, month, year)


for file in scandir('./csv'):
    if(file.name.split('.')[0] == get_today()):
        file_metadata = {'name': str(get_today()+".csv")}
        media = MediaFileUpload(
            './csv/{}'.format(file.name), mimetype='text/csv')
        file = drive().files().create(body=file_metadata,
                                      media_body=media,
                                      fields='id').execute()
        print(file)
  1. 安排腳本每天運行。 使用 crontabWindows將示例留在 Linux 中。

該腳本只是如何實現它的一個示例,您必須根據需要對其進行調整。

文檔:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM