web-dev-qa-db-fra.com

Comment nettoyer les données de la table dans Google Sheet IMPORTHTML?

Je veux importer une table de la production d'énergie nucléaire de https://ru.wikipedia.org/wiki/Атомная_нергетика_по_странам .

Pour une raison quelconque, le numéro de la deuxième colonne est dupliqué, par exemple:

<td><span style="display: none; speak: none;">000935</span>
935</td>

Est-il possible d'influencer le travail de IMPORTHTML () pour obtenir uniquement le premier enfant de <td>?

De même, dans le deuxième tableau, dernière colonne, Google Sheet extrait ceci:

British Nuclear Fuels (англ.)русск.

Je veux supprimer les textes (англ.) et русск.

Le texte dont j'ai besoin est à nouveau dans le premier enfant de <td>:

<td><a href="//en.wikipedia.org/wiki/British_Nuclear_Fuels" class="extiw" title="en:British Nuclear Fuels">British Nuclear Fuels</a>
<span style="font-size:95%; position: relative; top: .4em">&nbsp;<span class="ref-info" title="на английском языке" style="font-size:85%; cursor:help; color:#888;">(англ.)</span>
</span><span class="link-ru" style="font-size:80%; margin-left:-1.7em; position: relative; top: -.4em;"><a href="/w/index.php?title=British_Nuclear_Fuels&amp;action=edit&amp;redlink=1" class="new" title="British Nuclear Fuels (страница отсутствует)">русск.</a></span></td>

De plus, j'aimerais nettoyer les références entre crochets des en-têtes de colonnes, par exemple [7]

1
Vladimir Alexiev
  • Les numéros sont dupliqués parce qu’ils utilisent le modèle ~ wiki dans le but de trier | {{~|001627}}1 627
  • la nouvelle meilleure méthode de tri est la suivante: https://meta.wikimedia.org/wiki/Help:Sorting#Specifying_a_sort_key
  • J'ai pu nettoyer avec des formules, par exemple source cleaned halved check 101240102 709 101240102709 102709 FALSE

En utilisant ces formules:

  • nettoyé: =REGEXREPLACE(TEXT(source,"0"),"^0+| ","")
  • réduit de moitié: =replace(cleaned,1,len(cleaned)/2,"")
  • vérifier: =cleaned=concat(halved,halved)

Quelques valeurs ne vérifient pas, mais la différence entre les deux moitiés est petite, alors c'est bon

1
Vladimir Alexiev