这种类型的字符串数据怎么转化成数组啊 Python
"[["Key", 1], ["Key2", 2], , ["Key2", 2], ["Key3", 2]]"
import ast
import re
a = '[["Key", 1], ["Key2", 2], , ["Key2", 2], ["Key3", 2]]'
a = re.sub(r",\s*?,", ",None,", a)
print(a)
print(ast.literal_eval(a))
import json
s = '[["Key", 1], ["Key2", 2], ["Key2", 2], ["Key3", 2]]'
lst = json.loads(s)
print(lst)
print(type(lst)) # <class 'list'>
或者
s = '[["Key", 1], ["Key2", 2], ["Key2", 2], ["Key3", 2]]'
lst = eval(s)
print(lst)
https://www.csdn.net/tags/Mtjagg3sOTAyLWJsb2cO0O0O.html
采纳下
python将字符串转为数组
python中的字符串文字被单引号或双引号引起来。使用变量名,后跟等号和字符串的方式为变量分配字符串。您可以使用三个引号将多行字符串分配给变量。
示例
import numpy as np
ini_array = np.array(["1.1", "1.5", "2.7", "8.9"])
print ("initial array", str(ini_array))
res = ini_array.astype(np.float)
print ("final array", str(res))
import numpy as np
ini_array = np.array(["1.1", "1.5", "2.7", "8.9"])
print ("initial array", str(ini_array))
ini_array = ', '.join(ini_array)
ini_array = np.fromstring(ini_array, dtype = np.float, sep =', ' )
print ("final array", str(ini_array))
import numpy as np
ini_array = np.array(["1.1", "1.5", "2.7", "8.9"])
print ("initial array", str(ini_array))
final_array = b = np.asarray(ini_array,
dtype = np.float64, order ='C')
print ("final array", str(final_array))
输出结果('initial array', "['1.1' '1.5' '2.7' '8.9']")
('final array', '[ 1.1 1.5 2.7 8.9]')
('initial array', "['1.1' '1.5' '2.7' '8.9']")
('final array', '[ 1.1 1.5 2.7 8.9]')
('initial array', "['1.1' '1.5' '2.7' '8.9']")
('final array', '[ 1.1 1.5 2.7 8.9]')