将制表符和换行符分隔的字符串转换为 pandas 数据框
Posted
技术标签:
【中文标题】将制表符和换行符分隔的字符串转换为 pandas 数据框【英文标题】:Convert a tab- and newline-delimited string to pandas dataframe 【发布时间】:2019-06-03 19:20:06 【问题描述】:我有一个如下格式的字符串:
aString = '123\t456\t789\n321\t654\t987 ...'
我想将其转换为 pandas DataFrame
frame:
123 456 789
321 654 987
...
我已尝试将其转换为 Python 列表:
stringList = aString.split('\n')
导致:
stringList = ['123\t456\t789',
'321\t654\t987',
...
]
不知道下一步该做什么。
【问题讨论】:
【参考方案1】:一种选择是使用str.split
进行列表理解
pd.DataFrame([x.split('\t') for x in stringList], columns=list('ABC'))
A B C
0 123 456 789
1 321 654 987
你可以使用StringIO
from io import StringIO
pd.read_csv(StringIO(aString), sep='\t', header=None)
0 1 2
0 123 456 789
1 321 654 987
【讨论】:
有什么办法不使用for循环,因为字符串包含数万行。 谢谢你,克里斯 :) 它就像一个魅力 :)以上是关于将制表符和换行符分隔的字符串转换为 pandas 数据框的主要内容,如果未能解决你的问题,请参考以下文章