如何在熊猫中选择多个Google工作表将代码应用于所有这些工作表

时间:2019-08-05 19:50:20

标签: python pandas google-sheets google-colaboratory

我有一些来自Google工作表的数据,我想知道是否有一种方法可以一次将代码应用于所有工作表。我也想知道是否可以根据Google工作表名称和文件名设置日期(格式为年-月-日小时:分钟:秒)。我的意思是,如果Google工作表的标题为2019.01,则月份为1月,如果工作表名称(底部为工作表)为24,则日期为24。这将导致日期为2019 -01-24。这是我当前的DateTime列(最左边的)的图片: A portion of my data in google colaboratory

虽然上面的图片显示DateTime是正确的,但我想使用电子表格和工作表名称自动执行此操作。以下是我尝试一次应用于多个Google工作表的代码,但似乎无法正常工作。我也尝试使用     Janone = Jan.worksheet('01','02'等)
但这似乎不起作用。此外,代码的第二行到最后一行是似乎唯一起作用的格式,否则我将收到错误:纳秒范围外时间戳:1-01-01 00:30:00。我什至无法弄清楚我想要的DateTime的代码基础。

Jan = gc.open_by_url(disclosed for privacy)
Jan = Jan.worksheets()
january = get_as_dataframe(Jan)
january = pd.DataFrame(january)
new_header = january.iloc[0]
january = january[1:]
january.columns = new_header
january['DateTime'] = january['DateTime'].str.slice(6)
january['DateTime'] = pd.to_datetime('2019-01-01 ' + january['DateTime'])
january

AttributeError:“列表”对象没有属性“电子表格”是我从上面的代码中得到的错误。我希望使用Google工作表名称作为日期,以及如何将代码一次应用于多个熊猫。

1 个答案:

答案 0 :(得分:0)

针对您的DateTime问题。尝试将第三行和倒数第二行替换为

january['DateTime'] = pd.to_datetime(january['DateTime'])

但这仍然不能解释您的AttributeError: 'list' object has no attribute 'spreadsheet',因为您发布的代码中没有使用spreadsheet属性。