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]”。