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.