【问题标题】:How to split a .csv without having \n added at the end of the list?如何在列表末尾添加 \n 的情况下拆分 .csv?
【发布时间】:2019-08-03 23:31:50
【问题描述】:

我正在尝试将 .csv 拆分为列表中的字典,但它在最后一个位置的字符串中添加了 "\n"

.csv 格式如下:

user;password

例如,如果我这样编码:

accounts = []
file = open(os.path.expanduser("~/Desktop/users.csv"))

for line in file : 
    data = line.split(";")
    user = {"user": data[0], "pass": data[1]}
    accounts.append(user)
print(accounts)

当我打印时它看起来像:

[{'user': 'dd', 'pass': '456\n'}]

在末尾添加 \n。

【问题讨论】:

  • 使用data = line.strip().split(";")
  • 使用csv 库。您将不必手动剥离新行

标签: python csv split


【解决方案1】:
"pass": data[1].strip('\n')

将去除换行符。

【讨论】:

    【解决方案2】:

    您可以使用 csv.reader 类来处理分隔符 (;)、对行的迭代以及换行符的删除。

    import csv
    
    accounts = []
    with open('users.csv', newline='') as csvfile:
      reader = csv.reader(csvfile, delimiter=';')
      for row in reader:
        username, password = row  
        accounts.append({"user":username, "pass": password})
    

    每个row 将是一个列表(例如['aaa', '123']),其中换行符已被删除。您只需要以正确的顺序访问每个元素。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-16
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    • 2022-01-01
    • 2016-09-10
    • 2018-12-17
    相关资源
    最近更新 更多