我需要拆分.csv文件:
user1,pass1,email1
user2,pass2,email2
user3,pass3,email3
分成3个列表,可以调用和附加太分开。
with open('userdata.csv', 'r') as f:
userlist = [row[0] for row in csv.reader(f)]
passlist = [row[1] for row in csv.reader(f)]
emaillist = [row[2] for row in csv.reader(f)]
print(userlist)
print(passlist)
print(emaillist)
我需要这个代码返回:
['user1', 'user2', 'user3']
['pass1', 'pass2', 'pass3']
['email1', 'email2', 'email3']
但我得到的是
['user1', 'user2', 'user3']
[]
[]
一旦这个工作,我还需要一种方法来写回它作为一个.csv,将在确切的格式,它是当我调用它,但添加信息,使它可以再次调用时,需要的。
1条答案
按热度按时间vu8f3i0k1#
您尝试通过重复调用
csv.reader(f)
来使用csv文件三次。您可以改为将行存储在临时列表中,然后从该列表中获取列。
从行中挑选列的一种更优雅的方法是使用
zip
:要写入csv文件,可以在另一个方向使用
zip
,将列转换回行: