Skip to content

pandas: Ottenere il contenuto degli appunti come DataFrame con read_clipboard()

Python

Puoi usare pandas.read_clipboard() per leggere il contenuto degli appunti come DataFrame. È molto utile se utilizzato con IPython o Jupyter Notebook.

to_clipboard() viene fornito anche per il contenuto di un DataFrame negli appunti. Vedi il seguente articolo.

Puoi anche lavorare con gli appunti con pyperclip.

read_clipboard()

Per definizione predefinita, il parametro sep è impostato su ‘s+’ e gli spazi vengono trattati come delimitatori.

Quando copia una tabella da una pagina Web o celle da un software per fogli di calcolo come Excel o Numbers, viene copiata separata da tabulazioni e può essere convertita direttamente in un DataFrame da read_clipboard().

Ecco un esempio di copia di una tabella da Python su Wikipedia giapponese (a gennaio 2018) ed esecuzione di read_clipboard(). Il DataFrame viene salvato come file CSV utilizzando il metodo 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')

Se il testo copiato non è separato da spazi bianchi, impostare il parametro sep di conseguenza. Ad esempio, se il contenuto è delimitato da virgole , imposta read_clipboard(sep=’,’).

Poiché read_clipboard() passa internamente il contenuto degli appunti a read_csv(), puoi specificare gli stessi parametri di read_csv().

Ad esempio, per intestazione predefinita, la prima riga () viene trattata come le colonne dei nomi delle colonne come nell’esempio precedente. Per una tabella senza intestazione, imposta semplicemente header=Nessuno.

Si noti che è semplice utilizzare read_html() o read_excel() piuttosto che più appunti negli appunti quando si legge una tabella da una pagina Web specifica si leggono dati in una posizione specifica da molti file Excel con lo stesso layout.