我有一个字符串列表,我想把它转换成一个 Dataframe ,但是列表对象中的“,”把我采取的每一种方法和任何想法都搞砸了。
例如:y = [“a,['b'],0.3,1”,“a,['b,c'],0.4,2”]
应改为:包含4列的df,其中包含“a”、[“b”]、0.3、1“a”、[“b,c”]、0.4、2
这是目前为止我找到的最接近的一个,但它崩溃了,因为它看到第二行有5个元素,而不是4个。df = pd.read_csv(io.StringIO(“\n”.join(y)),delimiter=",",header=None))谢谢。
4条答案
按热度按时间8wigbo561#
首先,我会搜索并修复根本问题(如果可能的话-数据是如何生成的)?
如果无法修复,您可以尝试:
印刷品:
8oomwypt2#
您可以使用
re.sub
将字符串中的列表部分用"
包围起来,然后使用\n
加入列表,然后使用read_csv
的quotechar
参数忽略"
。打印(df):
2nbm6dog3#
数据中的列表对象很奇怪。如果你真的想把它们作为列表,另一个答案是正确的。但是如果你想把它们作为字符串,例如,“['b,c']",这会更快:
oogrdqng4#
另一个可能的解决方案是使用带有lookahead的正则表达式拆分来防止
['b,c']
中的逗号拆分:输出量: