在很多地方都有很好的说明,可以使用gspread将Google表格导入到Pandas DataFrame中,例如:
# Open our new sheet and read some data.
worksheet = gc.open_by_key('...').sheet1
# get_all_values gives a list of rows.
rows = worksheet.get_all_values()
# Convert to a DataFrame and render.
import pandas as pd
df = pd.DataFrame.from_records(rows)
df.head()
问题在于,此导入将第一行视为值而不是标头。
如何导入DataFrame并将第一行视为列名而不是值?
答案 0 :(得分:2)
您可以
row=[[1,2,3,4]]*3
pd.DataFrame.from_records(row[1:],columns=row[0])
1 2 3 4
0 1 2 3 4
1 1 2 3 4
答案 1 :(得分:0)
我遇到了同样的问题 - 我没有通过 get_all_values()
获取列表列表,而是将其更改为 get_all_records()
并且列标题填充得很好。
for sheet in sheet_names:
worksheet = sh.worksheet(sheet)
rows = pd.DataFrame(worksheet.get_all_records())
database = pd.concat([database, rows])