如何将表格已经形状的字符串更改为数据框?

Posted

技术标签:

【中文标题】如何将表格已经形状的字符串更改为数据框?【英文标题】:How to change string in already shape of table to dataframe? 【发布时间】:2022-01-03 01:49:51 【问题描述】:

我复制了一个表格形状的文本。有没有办法可以将这种字符串转换为 pandas 数据框?

'ColA      ColA_weights      ColB   ColB_weights
0  0.038671            1073  1.859599             1
1  20.39974           57362  10.59599             1
2  10.29974            5857  2.859599             1
3  5.040000            1288  33.39599             1
4  1.040000            1064  7.859599             1'

【问题讨论】:

我猜是在换行符上拆分它,然后在制表符或空格上拆分它。 如果将 pd.read_clipboard 复制到剪贴板,它的作用就像魅力一样。 【参考方案1】:

您可以使用pd.read_csv\s+ 作为分隔符。由于该函数需要文件路径或缓冲区才能操作,因此您可以将字符串包装为StringIO,其中creates a in-memory text buffer。

>>> import pandas as pd
>>> from io import StringIO
>>>
>>> source = """
... ColA      ColA_weights      ColB   ColB_weights
... 0  0.038671            1073  1.859599             1
... 1  20.39974           57362  10.59599             1
... 2  10.29974            5857  2.859599             1
... 3  5.040000            1288  33.39599             1
... 4  1.040000            1064  7.859599             1
... """
>>>
>>> df = pd.read_csv(StringIO(source), sep='\s+')
>>> df
        ColA  ColA_weights       ColB  ColB_weights
0   0.038671          1073   1.859599             1
1  20.399740         57362  10.595990             1
2  10.299740          5857   2.859599             1
3   5.040000          1288  33.395990             1
4   1.040000          1064   7.859599             1
>>> df.shape
(5, 4)

【讨论】:

以上是关于如何将表格已经形状的字符串更改为数据框?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 python matplotlib.pyplot 图例标记更改为 1、2、3 之类的序列号,而不是形状或字符?

我在数据框中的一列(字符串+浮点数)中混合了值我如何将它们更改为对象 [重复]

Javascript - 将字符串中的所有数字更改为下标

将数据框列类型从 int 更改为字符串 [重复]

熊猫:将系列的数据类型更改为字符串

无法使用应用程序脚本格式化日期如何将字符串更改为日期