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

2024-09-26 17:58:46 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有这样的数据:

>> 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"']]

我在每个数组中得到一个引号。我应该如何继续得到我想要的结果?你知道吗

提前谢谢!你知道吗


Tags: data数组templistprintstring1string2string3
3条回答

使用熊猫:

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']]

您可以使用astsplit

设置

import ast
d = '''
"12345","string1","string2","string3","string4","string5"
"67890","string6","string7","string8","string9","string10"
'''
templist=[]

那就

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()]

相关问题 更多 >

    热门问题