通过pygsheets向Google Sheet写入数据时数组元素逗号自动丢失问题求助
pygsheets写入Google Sheet数组逗号丢失解决办法
问题原因
该问题是因为pygsheets默认会对写入的列表类型单元格内容做自动解析,将列表元素直接拼接输出,移除了原有的分隔逗号。
解决方法
方案一:提前格式化数组列
写入前将DataFrame中的数组类型列转为带逗号的字符串格式,再执行写入操作:
# 写法1:保留列表的方括号和逗号格式,输出格式示例:["Progressive","PROGRESSIVE"] df1_pd["BrandName1"] = df1_pd["BrandName1"].apply(lambda x: str(x)) df1_pd["BrandName2"] = df1_pd["BrandName2"].apply(lambda x: str(x)) # 写法2:仅保留逗号分隔元素,无方括号,输出格式示例:Progressive, PROGRESSIVE # df1_pd["BrandName1"] = df1_pd["BrandName1"].apply(lambda x: ', '.join(x)) # df1_pd["BrandName2"] = df1_pd["BrandName2"].apply(lambda x: ', '.join(x)) # 处理完成后执行原有写入逻辑即可 wks.set_dataframe(df1_pd,(1,1),copy_head=True)
方案二:关闭pygsheets自动解析
调用set_dataframe时添加parse=False参数,禁止pygsheets自动格式化输入内容,保留原始字符串格式:
wks.set_dataframe(df1_pd, (1,1), copy_head=True, parse=False)
该方案无需修改原有DataFrame数据,适合临时快速验证场景。
内容的提问来源于stack exchange,提问作者Bitanshu Das
相关产品推荐
相关产品推荐

