How to copy/paste DataFrame from Stack Overflow into Python

clipboard, pandas, python

Solution

Pandas is written by people that really know what people want to do.

Since version `0.13` there's a function `pd.read_clipboard` which is absurdly effective at making this "just work".

Copy and paste the part of the code in the question that starts `bar foo`, (i.e. the DataFrame) and do this in a Python interpreter:

In [53]: import pandas as pd
In [54]: df = pd.read_clipboard()

In [55]: df
Out[55]: 
   bar  foo
0    4    1
1    5    2
2    6    3

Caveats

- Don't include the iPython `In` or `Out` stuff or it won't work

- If you have a named index, you currently need to add `engine='python'` (see this issue on GitHub). The 'c' engine is currently broken when the index is named.

- It's not brilliant at MultiIndexes:

Try this:

                      0         1         2
level1 level2                              
foo    a       0.518444  0.239354  0.364764
       b       0.377863  0.912586  0.760612
bar    a       0.086825  0.118280  0.592211

which doesn't work at all, or this:

              0         1         2
foo a  0.859630  0.399901  0.052504
    b  0.231838  0.863228  0.017451
bar a  0.422231  0.307960  0.801993

Which works, but returns something totally incorrect!

Problem

In questions and answers, users very often post an example `DataFrame` which their question/answer works with: ``` In []: x Out[]: bar foo 0 4 1 1 5 2 2 6 3 ``` It'd be really useful to be able to get this `DataFrame` into my Python interpreter so I can start debugging the question, or testing the answer. How can I do this?

Original source

Related problems