String 字符串中缺少逗号时要列出的字符串

String 字符串中缺少逗号时要列出的字符串,string,python-3.x,list,string-literals,String,Python 3.x,List,String Literals,通过将数据帧的向量转换为str,我有点把自己画在角落里了。我的向量现在看起来像这样[-9.1676396-171.8196878]。问题是,它们在中间丢失了逗号,以前是这样的: [-9167696-,171.8196878 ] < /代码>。然后,每当我需要列表转换时,我都可以: literal_eval('[ -9.1676396, -171.8196878]') 然而,这不再有效,因为我已经失去了逗号。我的问题是,如何在列表中转换这样的字符串?我还必须考虑到一些可能在间距上有所不同的事实。

通过将数据帧的向量转换为
str
,我有点把自己画在角落里了。我的向量现在看起来像这样
[-9.1676396-171.8196878]
。问题是,它们在中间丢失了逗号,以前是这样的:<代码> [-9167696-,171.8196878 ] < /代码>。然后,每当我需要列表转换时,我都可以:

literal_eval('[ -9.1676396, -171.8196878]')
然而,这不再有效,因为我已经失去了逗号。我的问题是,如何在列表中转换这样的字符串?我还必须考虑到一些可能在间距上有所不同的事实。以下是我可以进行的编辑类型:

[ -9.1676396 -171.8196878 ]
[1.2904753 103.8520359]
[   21.2160437 -157.975203 ]

看起来不再有字符串了,只有数组

我建议你用正则表达式

 import re

 pattern =  "/[\s" #replace spaces on outside of numbers if any
 replace = "" # i.e nothing
 re.sub(pattern, replace)
然后再做同样的事情,但正则表达式模式将是

 re.sub([0-9]*\s[0-9]* , ",")

看起来不再有字符串了,只有数组

我建议你用正则表达式

 import re

 pattern =  "/[\s" #replace spaces on outside of numbers if any
 replace = "" # i.e nothing
 re.sub(pattern, replace)
然后再做同样的事情,但正则表达式模式将是

 re.sub([0-9]*\s[0-9]* , ",")
如果您有类似以下的行:

[ -9.1676396 -171.8196878 ]
可以通过以下代码轻松地将其转换为浮动列表:

[float(x) for x in '[ -9.1676396 -171.8196878]'.replace('[','').replace(']','').split()]
此代码删除
[
]
符号,以空格作为分隔符拆分行,并将生成的字符串部分转换为浮点数。

如果您有类似以下行的代码:

[ -9.1676396 -171.8196878 ]
可以通过以下代码轻松地将其转换为浮动列表:

[float(x) for x in '[ -9.1676396 -171.8196878]'.replace('[','').replace(']','').split()]

此代码删除
[
]
符号,以空格作为分隔符拆分行,并将生成的字符串部分转换为浮点数。

删除
[
]
,进行
拆分
并将结果转换为浮点数:
[float(x)表示“[-9.1676396-171.8196878]”中的x。替换(“[”,”)。替换(“,”),”)。替换(“],”)。拆分()]
。你能补充一些关于你得到的是什么类型的信息吗?@MosheSlavin只需做文字评估(“[-9.1676396,-171.8196878]”),自己看看就可以了。我现在不在电脑上,但我想它是在加数字,所以它没有返回一个数字list@StanislavIvanov成功了!,如果您将其作为答案编写,我会将其标记为此问题的解决方案删除
[
]
,进行
拆分
并将结果转换为浮点:
[float(x)for x in'[-9.1676396-171.8196878]'。替换('[','')。替换(']','')。替换(']','')。拆分()
。你能补充一些关于你得到的是什么类型的信息吗?@MosheSlavin只需做文字评估(“[-9.1676396,-171.8196878]”),自己看看就可以了。我现在不在电脑上,但我想它是在加数字,所以它没有返回一个数字list@StanislavIvanov成功了!,如果你把它写下来作为一个答案,我会把它标记为这个问题的解决方案,实际上我有的不是数组,它看起来像数组,但它实际上只是一个字符串,就像“[-9.1676396-171.8196878]”。实际上我有的不是数组,它看起来像数组,但它实际上只是一个字符串,就像“[-9.1676396-171.8196878]”。