我正在使用 python2.7 和 pygsheets 在 python 和 Google 表格之间建立一个接口:
错误:
Traceback (most recent call last):
File "Tracker.py", line 108, in <module>
test.track()
File "Tracker.py", line 99, in track
self.sheet.set_dataframe(json.dumps(pd.DataFrame(list(cursor.fetchall())),default=iterencode),self.anchor,copy_index=False, copy_head=True, fit=False, escape_formulae=False,nan=str('\n'))
File "/usr/local/lib/python2.7/dist-packages/pygsheets/worksheet.py", line 742, in set_dataframe
df = df.replace(pd.np.nan, nan)
TypeError: expected a character buffer object
我试过 nan='NaN', '\n' 以及 0- 但是一切都返回相同的错误。
错误完全在这一行之内:
self.sheet.set_dataframe(json.dumps(pd.DataFrame(list(cursor.fetchall())),default=iterencode),self.anchor,copy_index=False, copy_head=True, fit=False, escape_formulae=False,nan=str('NanN'))
实际上在最后一个参数中:nan=str('NaN')
我检查了熊猫文档以进行替换:
value : scalar, dict, list, str, regex, default None
Value to use to fill holes (e.g. 0), alternately a dict of values specifying which value to use for each column (columns not in the dict will not be filled). Regular expressions, strings and lists or dicts of such objects are also allowed.
这似乎也或多或少符合要求。
pygsheets/worksheet.py 除了这一行之外也没有任何其他内容:df = df.replace(pd.np.nan, nan)
& nan 是我发送的未更改输入,即str('NaN')
.
我想知道这意味着什么 - 这是与某些 python 或库版本不匹配的版本控制问题吗?或者是其他东西?
我通过打印到 csv 文件然后将其作为数据帧读取并将其传递给函数来破解我的方法,因为我没有及时找到解决方案。
但是我仍然想了解这个问题是如何以及为什么以及在哪里出现的?谢谢