我正在尝试使用2d数组将值输入CSV。我有一个字符串,以“,”分隔,以分隔值和“;”分隔每一行。
下面的字符串;
text = 536924636,www.microsoft.com,http://www.microsoft.com/pkiops/crl/MicW;536924733,www.microsoft.com,http://www.microsoft.com/pkiops/certs/Mi;536925898,crl.microsoft.com,http://crl.microsoft.com/pki/crl/product;
我希望能够像这样将行拆分为2d数组
arr = reg.split([','][';'])
这样它就这样结束了
arr =[
['536924636','www.microsoft.com','http://www.microsoft.com/pkiops/crl/MicW'],
['536924733','www.microsoft.com','http://www.microsoft.com/pkiops/certs/Mi'],
['536924636','www.microsoft.com','http://www.microsoft.com/pkiops/crl/MicW']]
但是尝试此操作时,出现以下错误;
arr = reg.split([','][';'])
TypeError: list indices must be integers or slices, not str
有人可以帮助我实现这一目标吗?
谢谢
答案 0 :(得分:0)
一种简单的方法可以是
arr = [i.split(',') for i in text.split(';')]
答案 1 :(得分:0)
函数split()
将一个字符串分割为一个列表。您不能通过传递两个参数而不是一个参数来使其产生二维。
但是您可以调用两次,每个定界符一次:
>>> text = "536924636,www.microsoft.com,http://www.microsoft.com/pkiops/crl/MicW;536924733,www.microsoft.com,http://www.microsoft.com/pkiops/certs/Mi;536925898,crl.microsoft.com,http://crl.microsoft.com/pki/crl/product;"
>>> [r.split(",") for r in [r for r in text.split(";")]]
[
['536924636', 'www.microsoft.com', 'http://www.microsoft.com/pkiops/crl/MicW'],
['536924733', 'www.microsoft.com', 'http://www.microsoft.com/pkiops/certs/Mi'],
['536925898', 'crl.microsoft.com', 'http://crl.microsoft.com/pki/crl/product'],
['']
]
答案 2 :(得分:0)
x = str(input())
arr = x.split(";")
finalArr = []
for items in arr:
arr2 = []
arr2.append(items)
finalArr.append(arr2)
print(finalArr)
尝试一下。我希望这是您想要的。