
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.
