Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python的换行符问题(strip)_Python_Newline - Fatal编程技术网

Python的换行符问题(strip)

Python的换行符问题(strip),python,newline,Python,Newline,如果我写 f = open("file.csv","r") if f.mode == "r": cols = [] snames = [] svals = [] rows = f.readlines() for x in rows: x.strip("\n") cols = x.sp

如果我写

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
(因为字符串无论如何都是不可变的)。 试一试

相反,或者更简洁地说:

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)


x.strip(“\n”)
无效。您可能想执行
x=x.strip(“\n”)
。顺便说一句,空白已经是默认值,所以只需执行
x=x.strip()
@Tomerikoo
“\n”
不是默认值。默认值为全部空白。这是否回答了您的问题?您没有错,但是如果您在读取缩进重要的数据(例如Python),那么
x.strip()
vs
x.strip(“\n”)
vs
x.rstrip()
肯定会有不同。
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)