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)
如果我写
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)