Есть ли способ выполнить следующий рабочий процесс:
- Выбрать ячейки в электронной таблице Excel
- Скопируйте их, используя Ctrl + C
- Получить содержимое выбранных ячеек в виде списка python или массива numpy в оболочке IPython?
Есть ли способ выполнить следующий рабочий процесс:
Обновление. Кажется, что тега readline
, упомянутая @PauloAlmeida, включена по умолчанию в версии IPython 1.0. Итак, все, что вам нужно сделать, это:
from numpy import array
Alt+V
вместо Ctrl+V
И вы получите в IPython что-то вроде:
array([[1, 1], [2, 2]])
Или вы можете использовать метод pandas library 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, попробуйте преобразовать данные с разделителями в список списка списков или представление массива. Если enable_ipython_paste_for_paths == True, то измените \\ в/и пробелы в пространство.