簡體   English   中英

如何從python中的谷歌電子表格下載原始數據

[英]How to download raw data from google spread sheet in python

我想要谷歌電子表格中顯示的數據,但沒有可用的下載選項。 我嘗試使用 Beautifulsoup4 庫,但無法弄清楚。

這是數據: https : //docs.google.com/spreadsheets/d/e/2PACX-1vSc_2y5N0I67wDU38DjDh35IZSIS30rQf7_NYZhtYYGU1jJYT6_kDx4YpF-qw0LSlGsBYP8pqM_html#a1Pd

您可以使用google-api-python-client

此處提供了快速入門文檔。

它歸結為這樣的事情:

SAMPLE_SPREADSHEET_ID = '<your spreadsheet id>'
SAMPLE_RANGE_NAME = '<your desired range>'
service = build('sheets', 'v4', credentials=creds)
sheet = service.spreadsheets()
result = sheet.values().get(spreadsheetId=SAMPLE_SPREADSHEET_ID,
                            range=SAMPLE_RANGE_NAME).execute()
values = result.get('values', [])

但請務必閱讀完整的快速入門以獲得完整的圖片。 (示例代碼取自那里。)

您嘗試使用的美麗湯方法將像這樣工作。

read_url =  urllib.request.urlopen('your_sheet_url').read() #read the url
data = BeautifulSoup(read_url,"html.parser")
table = data.table                                          #extract table 

output_rows = []
df = pd.DataFrame(columns=['State','','Confirmed','Recovered','Deaths','Active','Last_Updated_Time'])
for table_row in table.findAll('tr'):                      #iterate though rows
    columns = table_row.findAll('td')
    output_row = []
    for column in columns:                                 #iterate though columns
        print(column.text)
        output_row.append(column.text)                     #append into a list
    print(len(output_row))
    output_rows.append(output_row)
    try:
        df = df.append(pd.Series(output_row,index = df.columns.tolist()),ignore_index = True) #add to the final dataframe
    except:
        pass
df.toexcel("Output.xlsx")                              # save the datafram as excel file

暫無
暫無

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

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