![](/img/trans.png)
[英]Using Google Apps Script to copy .CSV file data to Google Sheets
[英]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
,例如。
步驟將是:
drive_service
正常工作。 注意:您必須將 scope 從drive.metadata.readonly
更改為drive
或根據您的需要調整的另一個。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)
該腳本只是如何實現它的一個示例,您必須根據需要對其進行調整。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.