With pandas 1.0.0 the use of .to_markdown() to show the content of a dataframe in this forum in markdown is going to proliferate. Is there a convenient way to load the data back into a dataframe? Maybe an option to .from_clipboard(markdown=True)? 
Advertisement
Answer
None of the answers so far read the data from the clipboard. They all require the data to be in a string. This led me to look into the source code of pandas.read_clipboard(), and lo and behold, the method internally uses pandas.read_csv(), and passes all arguments to it. This automatically leads to the following solution:
t = pd.DataFrame({"a": [0, 1], "b":[2, 3]}).to_markdown()                                                                                                                                                    
print(t)
| | a | b | |---:|----:|----:| | 0 | 0 | 2 | | 1 | 1 | 3 |
Mark the table and copy it to the clipboard (Ctrl-C on Windows). Building on the above answers:
pd.read_clipboard(sep="|", header=0, index_col=1, skipinitialspace=True).dropna(
    axis=1, how="all"
).iloc[1:]
The next step would be to integrate this into https://pyjanitor-devs.github.io/pyjanitor/ so it can be easily called with a markdown=True parameter.