Skip to content

pandas : Obtenir le contenu du presse-papiers comme DataFrame avec read_clipboard()

Vous pouvez utiliser pandas.read_clipboard() pour lire le contenu du presse-papiers en tant que DataFrame. Il est très utile lorsqu’il est utilisé avec IPython ou Jupyter Notebook.

to_clipboard() est également fourni pour copier le contenu d’un DataFrame dans le presse-papiers. Voir l’article suivant.

Vous pouvez également travailler avec le presse-papiers avec pyperclip.

read_clipboard()

Par défaut, le paramètre sep est défini sur ‘s+’ et les caractères d’espacement sont traités comme un délimiteur.

Lorsque vous copiez un tableau à partir d’une page Web ou des cellules à partir d’un tableur tel qu’Excel ou Numbers, il est copié séparé par des tabulations et peut être converti directement en DataFrame par read_clipboard().

Voici un exemple de copie d’une table de Python sur Wikipedia japonais (à partir de janvier 2018) et d’exécution de read_clipboard(). Le DataFrame est enregistré en tant que fichier CSV à l’aide de la méthode to_csv().

import pandas as pd

df = pd.read_clipboard()
print(df)
#    バージョン    リリース日[16]
# 0    3.0   2008年12月3日
# 1    3.1   2009年6月27日
# 2    3.2   2011年2月20日
# 3    3.3   2012年9月29日
# 4    3.4   2014年3月16日
# 5    3.5   2015年9月13日
# 6    3.6  2016年12月23日

df.to_csv('data/dst/test.csv')

Si le texte copié n’est pas séparé par des caractères d’espacement, définissez le paramètre sep en conséquence. Par exemple, si le contenu est délimité par des virgules, définissez read_clipboard(sep=’,’).

Étant donné que read_clipboard() transmet en interne le contenu du presse-papiers à read_csv(), vous pouvez spécifier les mêmes paramètres que pour read_csv().

Par exemple, par défaut, la première ligne (en-tête) est traitée comme les colonnes de noms de colonne comme dans l’exemple ci-dessus. Pour un tableau sans en-tête, définissez simplement header=None.

Notez qu’il est plus facile d’utiliser read_html() ou read_excel() plutôt que de copier dans le presse-papiers lors de la lecture périodique d’un tableau à partir d’une page Web spécifique ou de la lecture de données à un emplacement spécifique à partir de nombreux fichiers Excel avec la même mise en page.