将多字字符串拆分为两个变量

时间:2019-04-22 20:15:12

标签: python

我有一个文档,其中包含登录详细信息,例如“用户名1,密码1,用户名2,密码2等”。有没有办法将它们分成仅包含用户名和密码的两个数组?

我尝试做:usernames, passwords = login.split(","),但这只是ValueError

对不起,如果它是如此明显!

更新:

login = "username1, password1, username2, password2"

3 个答案:

答案 0 :(得分:6)

您将获得ValueError,因为login.split()返回的列表包含两个以上的元素。
如果您的数据格式为username, password,则可以拆分然后分割列表:

login = "username1, password1, username2, password2"
data = login.split(",")


usernames = data[::2]
passwords = data[1::2]

答案 1 :(得分:0)

我的解决方案适用于列表的偶数和奇数索引。如果是偶数索引,则追加到用户名,如果是奇数索引,则追加到密码。

login='username1, password1, username2, password2'
usernames, passwords  = [], []
s = login.split(",")
for i in range(len(s)):
    usernames.append(s[i]) if i%2 == 0 else passwords.append(s[i]) 

答案 2 :(得分:0)

我相信您的文件结构如下:

username1, password1, username2, password2 
username3, password3, username4, password4
username5, password5, username6, password6 
username7, password7, username8, password8

然后下面的代码将起作用,

enter image description here

import csv
list_username=[]
list_pwd=[]
with open("untitled.txt") as f1:
    csvrow=csv.reader(f1,delimiter=",")
    for row in csvrow:
     usernames = row[0] + "," +row[2]
     passwords = row[1] + "," +row[3]   
     list_username.append(usernames)   
     list_pwd.append(passwords)
print(list_username)
print(list_pwd)

我也附加了代码的输出,

enter image description here