如何将 Google Sheet 的行导入 Pandas,但带有列名?
How do I import rows of a Google Sheet into Pandas, but with column names?
很多地方都有很好的说明,可以使用 gspread 将 Google Sheet 导入 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()
问题在于此导入将第一行视为值而不是 header。
如何导入 DataFrame 并将第一行视为列名而不是值?
你可以做到
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
我遇到了同样的问题 - 我没有通过 get_all_values()
获取列表列表,而是将其更改为 get_all_records()
并且 headers 列填充得很好。
for sheet in sheet_names:
worksheet = sh.worksheet(sheet)
rows = pd.DataFrame(worksheet.get_all_records())
database = pd.concat([database, rows])
很多地方都有很好的说明,可以使用 gspread 将 Google Sheet 导入 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()
问题在于此导入将第一行视为值而不是 header。
如何导入 DataFrame 并将第一行视为列名而不是值?
你可以做到
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
我遇到了同样的问题 - 我没有通过 get_all_values()
获取列表列表,而是将其更改为 get_all_records()
并且 headers 列填充得很好。
for sheet in sheet_names:
worksheet = sh.worksheet(sheet)
rows = pd.DataFrame(worksheet.get_all_records())
database = pd.concat([database, rows])