我正在尝试将文件上传到我的 Google 驱动器,下面的代码有效。如何指定要上传到哪个文件夹,即驱动器---与我共享--csvFolder
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
drive = GoogleDrive(gauth)
file2 = drive.CreateFile()
file2.SetContentFile('new_test.csv')
file2.Upload()
Run Code Online (Sandbox Code Playgroud) 我在 googlesheet 上有一张工作表,其中有很多行和列。
我想清除 B 列中值为 0 的单元格。
我写了这段代码,但它不起作用,我不是 javascript 专家:|
function clean0() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getDisplayValues();
if(data == "0"){
sheet.getRange('B:B').clearContent();
}
}
Run Code Online (Sandbox Code Playgroud)
我的错误在哪里?
感谢帮助 :)
我可以在“我的驱动器”的根目录中使用以下代码创建工作表,但如何在“我的驱动器”或“共享驱动器”中的文件夹下创建工作表?
from googleapiclient.discovery import build
service = build(‘sheets’, ‘v4’, credentials=creds)
sheet = service.spreadsheets()
body = {}
results = sheet.create(body=body).execute()
pprint(results)
Run Code Online (Sandbox Code Playgroud) python google-sheets google-drive-api google-api-python-client google-sheets-api
我想获取此网站上的价格数据(https://tarkov-market.com/item/Pack_of_sugar)
但这不起作用
=IMPORTXML("https://tarkov-market.com/item/Pack_of_sugar","//*[@id='__layout']/div/div[1]/div/div[4]/div[1]/div[2]/div[1]/div[2]")
Run Code Online (Sandbox Code Playgroud) xpath google-sheets web-scraping google-apps-script google-sheets-formula
我花了大约 5 个小时试图解决这个问题,但我陷入了最后一点。
到目前为止,我已经能够调用https://sunrise-sunset.org/api返回我需要的所有数据。我遇到的问题是能够解析结果,以便将日出或日落值附加到一个变量中,我可以将其作为结果导出到谷歌表中。
理想情况下,在谷歌表格中,我能够像其他这样的函数一样使用自定义函数
A1=SunRiseSet(lat,long,date,type)
Run Code Online (Sandbox Code Playgroud)
=“下午 5:11:12”
我想使用 type 来指定函数应返回什么值(日出或日落)。
这是我到目前为止的代码
function SunRiseSet(lat,long,date,type) {
var response = UrlFetchApp.fetch("https://api.sunrise-sunset.org/json?lat="+lat+"&lng="+long+"&date="+date);
var json = response.getContentText();
Logger.log(json);
var data = JSON.stringify(json);
Logger.log(data);
var data = json;
var sunrise = data.sunrise;
var sunset = data.results.sunset
type=1;
if(type==1){
return this.sunrise}
else{
return this.sunset};
}
Run Code Online (Sandbox Code Playgroud)
我确信这真的很容易,但到目前为止我尝试过的一切都失败了。太感谢了!
我知道可以使用脚本和驱动 API 将 Excel 文件转换为 Google Sheets,但我正在寻找脚本来转换 Excel 工作表并将转换后的文件移动到其他文件夹。
所以需要的步骤如下:
Excel 文件正在粘贴到正在同步到 Google Drive 的本地文件夹中,并且文件不大于 3mb。当前脚本如下。这是转换文件,但将它们放置在根文件夹中,并且当脚本再次运行时将重复转换。
function importXLS(){
var files = DriveApp.getFolderById('1hjvNIPgKhp2ZKIC7K2kxvJjfIeEYw4BP').searchFiles('title != "nothing"');
while(files.hasNext()){
var xFile = files.next();
var name = xFile.getName();
if (name.indexOf('.xlsx')>-1){
var ID = xFile.getId();
var xBlob = xFile.getBlob();
var newFile = { title : name+'_converted',
key : ID
}
file = Drive.Files.insert(newFile, xBlob, {
convert: true
});
}
} …Run Code Online (Sandbox Code Playgroud) file-conversion google-sheets delete-file google-apps-script google-drive-api
我按照此处和此处的步骤操作,但无法将 pandas 数据框上传到谷歌表格。
首先我尝试了以下代码:
import gspread
from google.oauth2.service_account import Credentials
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = Credentials.from_service_account_file('my_json_file_name.json', scopes=scope)
gc = gspread.authorize(credentials)
spreadsheet_key = '1FNMkcPz3aLCaWIbrC51lgJyuDFhe2KEixTX1lsdUjOY'
wks_name = 'Sheet1'
d2g.upload(df_qrt, spreadsheet_key, wks_name, credentials=credentials, row_names=True)
Run Code Online (Sandbox Code Playgroud)
上面的代码返回这样的错误消息:AttributeError: module 'df2gspread' has no attribute 'upload'这是没有意义的,因为 df2spread 确实有一个名为 upload 的函数。
其次,我尝试将数据附加到我通过输入列名称在谷歌工作表上人为创建的数据框中。这也不起作用,也没有提供任何结果。
import gspread_dataframe as gd
ws = gc.open("name_of_file").worksheet("Sheet1")
existing = gd.get_as_dataframe(ws)
updated = existing.append(df_qrt)
gd.set_with_dataframe(ws, updated)
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,谢谢!
我使用此链接来读取/获取 Google 文档文档的数据。
注意:出于安全原因,我更改了文档 ID 和 API 密钥。
我使用的网址
https://docs.googleapis.com/v1/documents/1oGPxB3BFf9XSAfe23lqY7OzYkn9_xvXaOQCGjBZEHmS4RSr21Y?key=AIzaSyDk5yXM8zFfg7KIgercswedLYD1bZO6zBue2tO0fk
Run Code Online (Sandbox Code Playgroud)
我得到的错误
{
"error": {
"code": 401,
"message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED"
}
}
Run Code Online (Sandbox Code Playgroud) https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate
这里的文档没有说明一次调用可以一次更新主体中的多少个范围。有人测试过极限吗?
现在我的代码可以一次更新不多的单元格。我想看看是否应该更改代码以立即完成所有操作。但如果有限制的话我不想花时间重写代码。
它可以处理 1000 个不同的范围吗?我的范围之间不连续。
在谷歌电子表格单元格中我有这样的文本:
\n\n{"age_max":65,"age_min":18,"flexible_spec":[{"interests":[{"id":"6002867432822","name":"Beauty"},{"id":"6002991733794","name":"Beauty & Care"},{"id":"6003177110133","name":"Natural Beauty"},{"id":"6003211042524","name":"Health and Beauty Care"},{"id":"6003393295343","name":"Health And Beauty"},{"id":"6003460329503","name":"Beautiful Skin"},{"id":"6004111438209","name":"Facial care"}]}],"genders":[2],"geo_locations":{"countries":["SK"],"location_types":["home","recent"]},"locales":[2,33],"targeting_optimization":"none","publisher_platforms":["facebook"],"facebook_positions":["feed","right_hand_column","instant_article"],"device_platforms":["mobile","desktop"]};
它的 JSON 来自 Facebook API,从 Supermetrics 获取。
\n\n现在我想解析这个单元格,但是这个代码不起作用:-/
\n\n我在电子表格“=parseTargeting(A1)”中使用此函数
\n\n以及脚本编辑器中的此自定义函数。
\n\n function parseTargeting(jsonData) {\n\n\n\n\n var flexible_spec = jsonData["flexible_spec"];\n var maxAge = jsonData["age_max"];\n var minAge = jsonData["age_min"];\n\n var interestsBasics = jsonData["flexible_spec"][0]["interests"][0]["name"];\n\n\n var interestsBasicsCelkem = jsonData["flexible_spec"][0]["interests"].length-1;\n var interests = "";\n var output = [];\n\n for(var i = 0; i<=interestsBasicsCelkem; i++){\n\n interests += jsonData["flexible_spec"][0]["interests"][i]["name"]+ "\\n"; \n\n\n }\n\n var returnVek = "Vek:"+minAge + " - " + …Run Code Online (Sandbox Code Playgroud) javascript ×3
python ×3
json ×2
delete-file ×1
google-api ×1
gspread ×1
pandas ×1
pydrive ×1
web-scraping ×1
xpath ×1