[Tutor] pandas.to_clipboard() copies nothing
Jim
jf_byrnes at comcast.net
Sat Jun 6 11:29:58 EDT 2020
On 6/6/20 4:25 AM, Peter Otten wrote:
> Jim wrote:
>
>> Mint18.3, python3.6, pandas 0.24.1
>>
>>
>> et_file = '/home/jfb/Downloads/PortfolioDownload.csv'
>> df = pd.read_csv(et_file, header=6, usecols=[0, 7], skipfooter=6,
>> engine='python')
>> df.to_clipboard(sep=',')
>> print(df)
>>
>> Manual notes the following. I'm not using PyQt4, but xclip is installed.
>>
>> Notes: Requirements for your platform.
>>
>> Linux : xclip, or xsel (with PyQt4 modules)
>> Windows : none
>> OS X : none
>>
>> The print command prints what I expect to see.
>>
>> I don't use pandas that much so maybe I am missing something.
>
> The pandas side seems OK; maybe you are looking at the wrong selection?
> I have a slightly different setup, and the following works for me:
>
> $ python3
> Python 3.4.3 (default, Nov 12 2018, 22:25:49)
> [GCC 4.8.4] on linux
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import pandas
>>>> df = pandas.DataFrame([[1,2], [3, 4]], columns=["Ham", "Spam"])
>>>> df.to_clipboard(sep=", ")
>>>>
> $ xclip -o -selection clipboard
> Ham Spam
> 0 1 2
> 1 3 4$
>
Peter,
I'm not sure what you mean by the "wrong selection" above. I ran your
code and got the following results.
This version (space after ,) worked despite the error msg:
Python 3.6.10 (default, Dec 19 2019, 23:04:32)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas
>>> df = pandas.DataFrame([[1,2,], [3,3]], columns=["Ham", "Spam"])
>>> df.to_clipboard(sep=", ")
QApplication: invalid style override passed, ignoring it.
Available styles: Windows, Fusion
/home/jfb/EVs/env36/lib/python3.6/site-packages/pandas/io/clipboards.py:134:
UserWarning: to_clipboard in excel mode requires a single character
separator.
warnings.warn('to_clipboard in excel mode requires a single '
Copied from clipboard:
Ham Spam
0 1 2
1 3 3
This version (no space after ,) also worked despite a different error msg:
(env36) jfb at jims-mint18 ~ $ python
Python 3.6.10 (default, Dec 19 2019, 23:04:32)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas
>>> df = pandas.DataFrame([[1,2], [3,4]], columns=["Ham", "Spam"])
>>> df.to_clipboard(sep=",")
QApplication: invalid style override passed, ignoring it.
Available styles: Windows, Fusion
Copied from clipboard:
,Ham,Spam
0,1,2
1,3,4
I had a little test file I was using to figure out pandas so I dropped
your code in it. Nothing was copied to the clipboard and this is the
error msg:
(env36) jfb at jims-mint18 ~ $ python /home/jfb/Dev/Python/test_csv_file.py
QApplication: invalid style override passed, ignoring it.
Available styles: Windows, Fusion
/home/jfb/EVs/env36/lib/python3.6/site-packages/pandas/io/clipboards.py:134:
UserWarning: to_clipboard in excel mode requires a single character
separator.
warnings.warn('to_clipboard in excel mode requires a single '
So I added excel=False and dropped the sep= and got this error:
(env36) jfb at jims-mint18 ~ $ python /home/jfb/Dev/Python/test_csv_file.py
QApplication: invalid style override passed, ignoring it.
Available styles: Windows, Fusion
I don't understand the QApplication reference. I assume it refers to QT
I have some QT stuff installed:
from pip list:
PyQt5 5.12
PyQt5-sip 4.19.14
qtconsole 4.4.3
I don't know why QT would come into play here and I don't understand the
reference to excel when it was not included.
To sum up. If I run it from the python console it give an error, but
copies to the clipboard. If I run the python file from the terminal it
gives an error and does not copy to the clipboard.
Thanks, Jim
More information about the Tutor
mailing list