Python 需要为每个字符串创建一个数组数组

Python 需要为每个字符串创建一个数组数组,python,arrays,string,python-2.7,split,Python,Arrays,String,Python 2.7,Split,所以我有这样的数据: >> print data "12345","string1","string2","string3","string4","string5" "67890","string6","string7","string8","string9","string10" >> print array_data [["12345","string1","string2","string3","string4","string5"], ["67890","str

所以我有这样的数据:

>> print data
"12345","string1","string2","string3","string4","string5"
"67890","string6","string7","string8","string9","string10"
>> print array_data
[["12345","string1","string2","string3","string4","string5"],
["67890","string6","string7","string8","string9","string10"]]
我希望能够将每一行作为一个数组,放入一个数组中。所以最后,我希望它看起来像这样:

>> print data
"12345","string1","string2","string3","string4","string5"
"67890","string6","string7","string8","string9","string10"
>> print array_data
[["12345","string1","string2","string3","string4","string5"],
["67890","string6","string7","string8","string9","string10"]]
我尝试了一些方法,这是我得到的最接近的方法:

>> temp_list = []
>> for line in data.splitlines(): temp_list.append([line])
>> print temp_list
[['"12345","string1","string2","string3","string4","string5"'],
['"67890","string6","string7","string8","string9","string10"']]
我在每个数组中都得到一个引号。我应该如何着手获得我正在寻找的结果


提前谢谢

您可以使用
ast
split

设置 那就

for line in d.strip().splitlines(): 
    templist.append([ast.literal_eval(st) for st in line.split(',')])
    
请注意,您还可以使用列表理解制作一个单行程序

templist = [[ast.literal_eval(st) for st in line.split(',')] for line in d.strip().splitlines()]
鉴于:

您可以这样做(如果
没有指明可能包含
的csv字段!):

或者您可以使用来正确处理字段中的逗号:

>>> import csv
>>> [list(e) for e in csv.reader(data.splitlines())]
[['12345', 'string1', 'string2', 'string3', 'string4', 'string5'], ['67890', 'string6', 'string7', 'string8', 'string9', 'string10']]
使用熊猫:

import pandas as pd

d = '''\
"12345","string1","string2","string3","string4","string5"
"67890","string6","string7","string8","string9","string10"'''

l = pd.read_csv(pd.compat.StringIO(d), header=None, dtype='object').values
你有我:

[['12345', 'string1', 'string2', 'string3', 'string4', 'string5'],
 ['67890', 'string6', 'string7', 'string8', 'string9', 'string10']]
使用标准库中的和模块:

import csv
from io import StringIO

d = '''"12345","string1","string2","string3","string4","string5"
"67890","string6","string7","string8","string9","string10"'''

res = list(csv.reader(StringIO(d)))

print(res)

[['12345', 'string1', 'string2', 'string3', 'string4', 'string5'],
 ['67890', 'string6', 'string7', 'string8', 'string9', 'string10']]
你就快到了

>> temp_list = []
>> temp_list = [list(eval(line)) for line in data.splitlines()]
>> print temp_list
[['12345', 'string1', 'string2', 'string3', 'string4', 'string5'], ['67890', 'string6', 'string7', 'string8', 'string9', 'string10']]

如果您仍然感到困惑,请查看Python中引号是如何表示字符串的:如果您对答案投了反对票,请提供理由。
>> temp_list = []
>> temp_list = [list(eval(line)) for line in data.splitlines()]
>> print temp_list
[['12345', 'string1', 'string2', 'string3', 'string4', 'string5'], ['67890', 'string6', 'string7', 'string8', 'string9', 'string10']]