如何将表格已经形状的字符串更改为数据框?
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 之类的序列号,而不是形状或字符?