根据 stackoverflow 中的问题重新创建 pandas 数据框

T C*_*aar 4 python dataframe pandas

这是一个试图回答有关 pandas 数据框问题的人提出的问题。考虑一个给定数据集的问题,该数据集只是可视化(而不是实际的代码),例如:

   numbers letters       dates         all
0        1       a  20-10-2020         NaN
1        2       b  21-10-2020           b
2        3       c  20-11-2020           4
3        4       d  20-10-2021  20-10-2020
4        5       e  10-10-2020        3.14
Run Code Online (Sandbox Code Playgroud)

是否可以在 python 中将其作为数据框或字典快速导入?到目前为止,我复制了给定的文本,并通过创建字符串(添加'')等将其转换为数据框。

我认为有两个“解决方案”:

  1. 创建一个将文本作为输入的函数,它以某种方式将其转换为数据帧。
  2. 使用文本编辑器中的一些功能(我使用spyder)可以为我们完成这个技巧。

moz*_*way 7

read_clipboard

您可以pd.read_clipboard()选择与分隔符一起使用(例如pd.read_clipboard('\s\s+'),如果列名称中有日期时间字符串或空格,并且列至少由两个空格分隔):

  • 选择问题上的文本并复制到剪贴板(ctrl+c/command-c)
  • 移动到 python shell 或笔记本并运行pd.read_clipboard()

请注意,这并不适用于所有平台。

read_csv+io.StringIO

对于更复杂的格式,请结合read_csv结合io.StringIO

data = '''
   numbers letters       dates         all
0        1       a  20-10-2020         NaN
1        2       b  21-10-2020           b
2        3       c  20-11-2020           4
3        4       d  20-10-2021  20-10-2020
4        5       e  10-10-2020        3.14
'''

import io

df = pd.read_csv(io.StringIO(data), sep='\s+')
df
Run Code Online (Sandbox Code Playgroud)