有没有办法执行以下工作流程:
- 在Excel电子表格中选择单元格
- 使用Ctrl + C复制它们
- 以python列表或numpy数组的形式将选定单元格的内容放入IPython shell中?
有没有办法执行以下工作流程:
更新: 好像是 readline
@PauloAlmeida提到的东西默认在IPython的1.0版本中打开。所以你要做的就是:
from numpy import array
Alt+V
代替 Ctrl+V
你会在IPython中得到类似的东西:
array([[1, 1], [2, 2]])
或者您可以使用pandas库 read_clipboard
方法。
import pandas as pd
pd.read_clipboard() # If you have selected the headers
pd.read_clipboard(header=None) # If you haven't selected the headers
这将返回一个pandas DataFrame对象,其作用类似于电子表格。您可以在他们的官方中找到更多相关信息 文件。
这是我通常做的事情:
将所需的单元格复制粘贴到新的Excel文档中。 点击“文件”,然后点击“另存为”。 选择“另存为类型:CSV”。 关闭Excel并使用记事本或其他编辑器打开文件。
现在你有这样的事情:
1, 2, 3
4, 5, 6
你也可以
如果您使用的是Windows,则可以使用 PyReadline,具有智能粘贴功能:
- 使用剪贴板复制和粘贴
- 智能粘贴,方便用于ipython。将制表符分隔数据转换为python列表或numpy数组。
另见 剪贴板功能的文档:
ipython_paste
粘贴Windows剪贴板。如果enable_ipython_paste_list_of_lists为True,则尝试将tabseparated数据转换为列表列表的repr或 数组的repr。如果enable_ipython_paste_for_paths == True则更改\\ 到\和空间到\ space。