Python 将多字字符串拆分为两个变量
我有一个文档,其中包含登录详细信息,如“username1、password1、username2、password2等”。有没有办法将它们拆分为两个数组,其中只包含用户名和密码 我试过这样做:Python 将多字字符串拆分为两个变量,python,Python,我有一个文档,其中包含登录详细信息,如“username1、password1、username2、password2等”。有没有办法将它们拆分为两个数组,其中只包含用户名和密码 我试过这样做:usernames,passwords=login.split(“,”),但那只是一个ValueError 对不起,如果这是很明显的事情 更新: login=“username1,password1,username2,password2”您得到的是ValueError,因为login.split()返回
usernames,passwords=login.split(“,”)
,但那只是一个ValueError
对不起,如果这是很明显的事情
更新:
login=“username1,password1,username2,password2”
您得到的是ValueError
,因为login.split()
返回包含两个以上元素的列表。如果您的数据格式为
username,password
,则可以拆分列表,然后对其进行切片:
login = "username1, password1, username2, password2"
data = login.split(",")
usernames = data[::2]
passwords = data[1::2]
我的解决方案适用于列表的偶数和奇数索引。如果是偶数索引,则附加到用户名,如果是奇数索引,则附加到密码
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])
我相信您的文件结构如下:
username1, password1, username2, password2
username3, password3, username4, password4
username5, password5, username6, password6
username7, password7, username8, password8
那么下面的代码就可以工作了
我还附上了代码的输出
我看不出你的意见。你能展示准确的输入文件格式吗?你能描述一下你想要实现的是什么吗?这很好,登录是一个字符串,里面只有一个逗号。我支持@charinduidrisooriya的评论。这当然可以做到,但如果你能解释一下你更大的目标,我们可能会帮助你以更好的方式实现它。
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)