如何将Google表格的行导入到Pandas中,但要带有列名?

时间:2019-06-04 23:55:26

标签: pandas gspread

在很多地方都有很好的说明,可以使用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并将第一行视为列名而不是值?

2 个答案:

答案 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])