我有一个文档,其中包含登录详细信息,例如“用户名1,密码1,用户名2,密码2等”。有没有办法将它们分成仅包含用户名和密码的两个数组?
我尝试做:usernames, passwords = login.split(",")
,但这只是ValueError
。
对不起,如果它是如此明显!
更新:
login = "username1, password1, username2, password2"
答案 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
然后下面的代码将起作用,
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)
我也附加了代码的输出,