我正在尝试使用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
谁能帮我实现这个目标?
谢谢
函数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'],
['']
]
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(';')]