2017-02-17 9 views
0

Я хочу скопировать таблицы данных, отображаемые на веб-сайтах, и вставить как текст непосредственно в скрипты в виде строковых переменных, используя IDLE. Иногда это не срабатывает из-за чего-то в скопированном материале, который IDLE не будет воспринимать как разумный. Полученное поведение не является сообщением об ошибке, но IDLE просто игнорирует запрос сохранения. Он просто сидит там, пока я не скроюсь.Как очистить неприятные символы в данных буфера обмена, чтобы я мог вставлять скрипт python в IDLE?

Это поведение отлично со мной в данный момент - Я бы, конечно, не хотел сохранять скрипт python, содержащий неприятные символы.

Есть ли какой-то способ, которым я могу получить этих отвратительных персонажей из того, что находится в клипе для моего компьютера, чтобы я мог продолжить свой сценарий?

Если бы мне просто нужно было сделать это один раз, я мог бы зайти и посмотреть на html сайта и, возможно, извлечь его, или, в случае с the table of satellites on this page, возможно, я могу зайти в приложение Google и получить его.

Но для целей этого вопроса я хотел бы «исправить» данные в моей плате клипа, чтобы я мог вставить строку в скрипт, используя IDLE и запустить его.

Я пробовал «Вставить и совместить стиль» в файле .txt сначала, чтобы его очистить, не повезло. У меня есть Sublime Text 2, но он не очень похож на него, если в нем есть относительно простая в использовании функция, это было бы нормально.

Попытка вставить в тройные кавычки thing = """ """ в строке выдает следующее сообщение об ошибке: Unsupported characters in input:

enter image description here

Примечание: с помощью Python и IDLE версии '2.7.11', Tk версии «8,5. 9 (я знаю, это год) в OSX.

EDIT: Вот кусок данных из моей клип-платы, как это предлагается в комментариях. Копирование здесь (как показано) приводит к неудачным попыткам сохранения в IDLE, поэтому, по крайней мере, некоторые из насморчных символов здесь. Я вставляю пару тройных котировок, например. thing = """ """


1 2/6/2000 PICOSAT 1&2 (TETHERED) Aerospace Corporation mil Opal Opal T 5 N Minotaur-1 
2 2/10/2000 PICOSAT 3 (JAK) Santa Clara University uni Opal Opal E 2 N Minotaur-1 
3 2/10/2000 PICOSAT 6 (StenSat) Stensat Group. LLC civ Opal Opal C 2 N Minotaur-1 
4 2/12/2000 PICOSAT 4 (Thelma) Santa Clara University uni Opal Opal S 2 N Minotaur-1 
5 2/12/2000 PICOSAT 5 (Louise) Santa Clara University uni Opal Opal S 2 N Minotaur-1 
6 9/6/2001 PICOSAT 7&8 (TETHERED) Aerospace Corporation mil Opal Opal T 2 D Minotaur-1 
7 12/2/2002 MEPSI Aerospace Corporation mil 2U SSPL T 2 D Shuttle 
8 6/30/2003 DTUSAT 1 Technical University of Denmark uni 1U PPOD E 2 N Rokot-KM 
9 6/30/2003 CUTE-1 (CO-55) Tokyo Institute of Technology uni 1U PPOD E 3 N Rokot-KM 
10 6/30/2003 QUAKESAT 1 Stanford University uni 3U PPOD S 5 N Rokot-KM 
11 6/30/2003 AAU CUBESAT 1 Aalborg University uni 1U PPOD E 2 N Rokot-KM 
12 6/30/2003 CANX-1 UTIAS (University of Toronto) uni 1U PPOD E 2 N Rokot-KM 
13 6/30/2003 CUBESAT XI-IV (CO-57) University of Tokyo uni 1U PPOD E 4 S Rokot-KM 
14 10/27/2005 UWE-1 University of Würzburg uni 1U TPOD E 3 N Kosmos-3M 
15 10/27/2005 CUBESAT XI-V (CO-58) University of Tokyo uni 1U TPOD E 5 N Kosmos-3M 
16 10/27/2005 Ncube 2 Norweigan Universities uni 1U TPOD E 2 N Kosmos-3M 
17 2/21/2006 CUTE 1.7 Tokyo Institute of Technology uni 2U JPOD C 2 D M-5 (2) 
18 7/26/2006 AeroCube 1 Aerospace Corporation mil 1U PPOD T 1 D Dnepr-1 
19 7/26/2006 SEEDS Nihon University uni 1U PPOD E 1 D Dnepr-1 
20 7/26/2006 SACRED University of Arizona uni 1U PPOD E 1 D Dnepr-1 
+0

Вы можете попробовать проанализировать таблицу с помощью Python –

+0

@ cricket_007 таблица отображается на веб-странице в моем браузере, и я выбираю ее и копирую на плату клипа моего компьютера. Смогу ли я разобрать из своего буфера обмена? Я не веб-разработчик, и я не создатель таблицы. – uhoh

+0

Кажется, что это Google Spreadsheet. Есть API для этого –

ответ

1

Я пытаюсь сканировать строку и найти символы за пределами нормальной печати диапазона. Может быть, странный персонаж будет легче идентифицировать.

text = """ <here comes your pasted text> """ 

def normal(c): 
    return (32 <= ord(c) <= 127) or (c in '\n\r\t') 

strange = set(ord(c) for c in text if not normal(c)) 

print strange 

Интересно, что коды символов могут оказаться в strange.

+0

Я не могу запустить любой python с вещью. Я вставил пример там, и когда я его снова скопирую и вставлю даже в интерактивную подсказку Python, я получаю ошибку 'Unsupported characters in input'. Мне интересно, применяется ли [этот ответ] (http://stackoverflow.com/a/28060419/3904031)? – uhoh

+0

Ah !, У меня есть еще одна установка Python 2.7 (anaconda). Запуск в iTerm я могу вставить в подсказку без проблем. Хорошо, я попробую это сейчас. – uhoh

+0

set ([195, 188]), которые кажутся Ã и ¼ соответственно. Поэтому я задаюсь вопросом, является ли ответ на этот вопрос SO следующим: * На самом деле это, вероятно, ожидаемое поведение для IDE «начального уровня» IDE, возможно, в качестве меры предосторожности, но другие среды могут быть более восприимчивыми *? – uhoh