将标头和值列表转换为熊猫数据框

时间:2019-06-17 13:32:14

标签: python pandas dataframe google-sheets-api

我正在从Google表格中读取数据,并能够成功将其获取:

header = result.get('values', [])[0] #First line is column names
values = result.get('values', [])[1:] #Everything else is data

然后,我要这样做:

if not values:
    print('No data found.')
else:
    df = pd.DataFrame(data=values, columns=header)
    print(df.head(10))

但我遇到错误:

  

AssertionError:传递了26列,传递的数据有14列

如果我打印标题或值,则表示我已成功获取列表中的数据。

1 个答案:

答案 0 :(得分:1)

首先,您可以使数据框具有当前值,然后再将其余的列与NaNconcat一起创建一个数据框:

df = pd.DataFrame(data=values, columns=header[:14])
df2 = pd.DataFrame({head : [np.NaN]*len(df) for head in header[14:]})

df_final = pd.concat([df, df2], axis=1)
  

问:您怎么知道5297中的列将为14

A:由于您的值包含行,因此数据中的行数为5297。