我如何导出我在谷歌Colab与熊猫创建的数据帧,到一个新的谷歌表格文件?



我在这里读过无数篇关于使用gspread向Google Sheets输出数据的文章,但每次我尝试一个例子,它都不适合我。

基本上我目前正在从现有的Google Sheets文档中读取数据,与Pandas一起工作,然后我想将数据输出到一个全新的Google Sheets文档。

我已经弄清楚了如何创建一个新的Google Sheets文档,一个新的工作表,以及如何手动更新单个单元格范围,但我需要做的是导出一个数据框架到工作表。

我用下面的代码块开始脚本。我知道使用API有不同的方式,但这种方式对我有效:

from google.colab import auth
auth.authenticate_user()
import gspread
from google.auth import default
creds, _ = default()
gc = gspread.authorize(creds)

在我用数据做的所有工作之后,我现在只需要知道如何使用我创建的df,例如一个简单的2列df,并将其放入一个新的Google Sheets文档中而不会出现错误。

我已经阅读了文档和无数的帖子,但我似乎就是不能让它工作。还有其他的事情我需要弄清楚如何处理spread,但这是我现在的一个阻滞剂。

如果有任何帮助,我将不胜感激。

感谢您花时间阅读。

可以在新的或现有的电子表格中创建新的工作表。

要创建新的电子表格并添加工作簿,请执行

sh = gc.create('A new spreadsheet')

若要将新工作簿附加到现有电子表格,请执行:

sh = gc.open('An existing spreadsheet')

假设您的dataframe命名为df,下面将分别将您的列名和值转换为列表。

df_col_names = [df.columns.values.tolist()] 
df_col_values = df_pwv_sel_unp.values.tolist()

然后将工作表添加到已创建或打开的电子表格

#get the dimensions of the dataframe
df_rows = df.shape[0]
df_cols = df.shape[1]
#create worksheet
worksheet = sh.add_worksheet(title="A worksheet", rows=df_rows, cols=df_cols).

现在使用update()方法将数据写入新创建的工作表

worksheet.update(df_col_names + df_col_values)

最新更新