Для общих примеров этого есть следующие инструкции:
Для этого конкретного примера просто импортируйте его
tmp = Import["http://en.wikipedia.org/wiki/Unemployment_by_country", "Data"]
Очистить это довольно просто с этим импортом. Таблица состоит из 3 столбцов, поэтому извлеките ее из остального:
tmp1 = Cases[tmp, {_, _?NumberQ, _}, \[Infinity]]
Вы, вероятно, захотите удалить квадратные скобки (??):
tmp1[[All, 3]] = Flatten[If[StringQ[#],
StringCases[#, x__ ~~ Whitespace ~~ "[" ~~ __ :> x], #] & /@ tmp1[[All, 3]]]
Grid[tmp1, Frame -> All]
Обратите внимание, что вы можете добавить заголовок обратно, если хотите, чтобы он был в вашей таблице, что вы, вероятно, делаете
Grid[Join[{{"Country / Region", "Unemployment rate (%)",
"Source / date of information"}}, tmp1], Frame -> All]
пуристы могут возражать против последнего шага, но когда вы обычно очищаете данные, вы просто хотите выполнить свою работу, и каждый сайт представляет собой индивидуальный подход. Так что некоторые ручные проверки и гибкость дают вам самый быстрый общий результат.
Редактировать
если вы хотели флаги, вы также можете получить их от CountryData
. Необходима дальнейшая очистка, иначе произойдет много промахов. Очистка включает в себя удаление ссылки на «суверенную страну» в скобках. например "Гуам (США)" -> "Гаум".
tmp2 = Flatten[
If[StringMatchQ[#, __ ~~ "(" ~~ __],
StringCases[#,
z__ ~~ Shortest["(" ~~ __ ~~ ")" ~~ EndOfString] :>
StringTrim@z], StringTrim[#]] & /@ tmp1[[All, 1]]]
Это все равно даст какой-то вывод, который CountryData
не распознает.
flags = CountryData[#, "Flag"] & /@ tmp2;
Cases[flags, _CountryData]
6 промахов из 190. Удалите эти промахи из вывода:
flags = If[Head[#] === CountryData, {""}, {#}] & /@ flags; (*much faster than rule replacement*)
tmp2 = Join[flags, tmp1, 2];
Grid[tmp2, Frame -> All]
Обратите внимание, что для визуализации требуется некоторое время.

Вы, очевидно, можете стилизовать Grid
по своему усмотрению, используя опции Grid
, а также изменять размер изображений, если необходимо.