Python 的换行符问题(条)

newline character problems with Python (strip)

如果我写

f = open("file.csv","r")
    if f.mode == "r":
        cols = []
        snames = []
        svals = []
        rows = f.readlines()
        for x in rows:
            x.strip("\n")
            cols = x.split(",")
            snames.append(cols[0])
            svals.append(cols[1])

然后 svals 仍然有我不想要的 \n 字符,例如'20.43256639\n'

但如果我改为这样做,则 svals 会显示正确的值而没有 \n

for x in rows:
    cols = x.split(",")
    snames.append(cols[0])
    svals.append(cols[1].strip("\n"))

svals 确实有正确的值,例如'20.43256639'

x.strip("\n")

不会就地修改 x(因为字符串无论如何都是不可变的)。 尝试

x = x.strip("\n")

相反,或者说得更简洁一点:

with open("file.csv","r") as f:
    snames = []
    svals = []
    for x in f:
        sname, sval = x.strip().split(",", 1)
        snames.append(sname)
        svals.append(sval)