由于我将pandas从0.11更新到0.12,read_clipboard似乎不再起作用了:
import pandas as pd
df = pd.read_clipboard()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-6dead334eb54> in <module>()
----> 1 df = pd.read_clipboard()
C:\Python33\lib\site-packages\pandas\io\clipboard.py in read_clipboard(**kwargs)
16 from pandas.io.parsers import read_table
17 text = clipboard_get()
---> 18 return read_table(StringIO(text), **kwargs)
19
20
TypeError: initial_value must be str or None, not bytes
我做的是:
在Excel 2010中打开csv文件
复制一系列单元格,包括标题
如上面的代码块所述,在iPython Qt控制台中执行read_clipboard
降级到0.11后,此程序再次正常工作。我正在使用pandas for python 3.3 Win7 32位。
这是大熊猫的错误吗?有关如何解决此问题的任何建议吗?
答案 0 :(得分:2)
它是py3中字符串中的一个错误;我会在master中修复它,但你可以进行本地编辑。
C:\python33\Lib\site-packages\pandas\io\clipboard.py
中的
在text = clipboard_get()
添加text = text.decode('UTF-8')
显然,剪贴板例程会在py3
中返回字节(而不是字符串)答案 1 :(得分:0)
我一直在寻找解决方案,似乎与ctypes有关。 您可以在此处找到更多信息:https://github.com/pandas-dev/pandas/issues/13946
一种解决方法可能是将呼叫替换为
text = clipboard_get()
in
C:\python33\Lib\site-packages\pandas\io\clipboard.py
以下内容:
from tkinter import Tk
r = Tk()
text = r.selection_get(selection="CLIPBOARD")