使用两个不同的拆分将字符串拆分为二维数组

2024-06-10 09:31:42 发布

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

我正在尝试使用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;

我希望能够像这样将行分割成二维数组

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

有人能帮我做到这一点吗

谢谢


Tags: 字符串comhttpwww数组regmicrosoftsplit
3条回答
x = str(input())
arr  = x.split(";")
finalArr = []
for items in arr:
    arr2 = []
    arr2.append(items)
    finalArr.append(arr2)
print(finalArr)

试试这个。我希望这就是你要找的

一个简单的方法可以

arr = [i.split(',') for i in text.split(';')]

函数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'], 
['']
]

相关问题 更多 >