繁体   English   中英

Python 的换行符问题(strip)

[英]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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM