如何使用 python 和 google sheets API 从 Google sheet ID 获取 Google Sheet 名称?
How can I fetch Google Sheet name from Google sheet ID using python and google sheets API?
我有一个代码可以将 Google sheets 导出到 csv 并将其存储在我的本地存储中。我想存储与 google sheet 名称同名的 csv 文件。有人可以帮我解决这个问题吗?
所以现在,这段代码将 csv 文件保存为 sheet1.csv ,我怎样才能让它有原来的 sheet 名称?
import pandas as pd
from Google import Create_Service
def sheets_to_csv(GOOGLE_SHEET_ID):
CLIENT_SECRET_FILE = 'secret.json'
API_SERVICE_NAME = 'sheets'
API_VERSION = 'v4'
SCOPES = ['https://www.googleapis.com/auth/spreadsheets']
service = Create_Service(CLIENT_SECRET_FILE, API_SERVICE_NAME, API_VERSION, SCOPES)
try:
gsheets = service.spreadsheets().get(spreadsheetId=GOOGLE_SHEET_ID).execute()
sheets = gsheets['sheets']
for sheet in sheets:
dataset = service.spreadsheets().values().get(
spreadsheetId=GOOGLE_SHEET_ID,
range=sheet['properties']['title'],
majorDimension='ROWS'
).execute()
df = pd.DataFrame(dataset['values'])
df.columns = df.iloc[0]
df.drop(df.index[0], inplace=True)
df.to_csv(sheet['properties']['title'] + '.csv', index=False)
print()
except Exception as e:
print(e)
sheets_to_csv('1LqynjF33-mrO9M5INf4wJvJuY57Hhy4vjv_FjtuM')
根据您的以下回复,
each sheet is being exported as the CSV file. But i would like to fetch the name of the overall sheet and name the csv files as Name-sheet1.csv, Name-sheet2.csv and so on..
我理解你的目标如下。
- 您想检索电子表格标题并将其用作 CSV 文件的文件名,例如
Name-sheet1.csv, Name-sheet2.csv
。
在你的脚本中,做如下修改怎么样?
发件人:
df.to_csv(sheet['properties']['title'] + '.csv', index=False)
收件人:
df.to_csv(gsheets['properties']['title'] + '-' + sheet['properties']['title'] + '.csv', index=False)
参考:
我有一个代码可以将 Google sheets 导出到 csv 并将其存储在我的本地存储中。我想存储与 google sheet 名称同名的 csv 文件。有人可以帮我解决这个问题吗? 所以现在,这段代码将 csv 文件保存为 sheet1.csv ,我怎样才能让它有原来的 sheet 名称?
import pandas as pd
from Google import Create_Service
def sheets_to_csv(GOOGLE_SHEET_ID):
CLIENT_SECRET_FILE = 'secret.json'
API_SERVICE_NAME = 'sheets'
API_VERSION = 'v4'
SCOPES = ['https://www.googleapis.com/auth/spreadsheets']
service = Create_Service(CLIENT_SECRET_FILE, API_SERVICE_NAME, API_VERSION, SCOPES)
try:
gsheets = service.spreadsheets().get(spreadsheetId=GOOGLE_SHEET_ID).execute()
sheets = gsheets['sheets']
for sheet in sheets:
dataset = service.spreadsheets().values().get(
spreadsheetId=GOOGLE_SHEET_ID,
range=sheet['properties']['title'],
majorDimension='ROWS'
).execute()
df = pd.DataFrame(dataset['values'])
df.columns = df.iloc[0]
df.drop(df.index[0], inplace=True)
df.to_csv(sheet['properties']['title'] + '.csv', index=False)
print()
except Exception as e:
print(e)
sheets_to_csv('1LqynjF33-mrO9M5INf4wJvJuY57Hhy4vjv_FjtuM')
根据您的以下回复,
each sheet is being exported as the CSV file. But i would like to fetch the name of the overall sheet and name the csv files as Name-sheet1.csv, Name-sheet2.csv and so on..
我理解你的目标如下。
- 您想检索电子表格标题并将其用作 CSV 文件的文件名,例如
Name-sheet1.csv, Name-sheet2.csv
。
在你的脚本中,做如下修改怎么样?
发件人:
df.to_csv(sheet['properties']['title'] + '.csv', index=False)
收件人:
df.to_csv(gsheets['properties']['title'] + '-' + sheet['properties']['title'] + '.csv', index=False)