Python 通过readlines()方法读取行时出错

Python 通过readlines()方法读取行时出错,python,csv,file-io,Python,Csv,File Io,定义以下函数以读取.csv文件的内容并将其存储到列表中: def _read_txt_file(self): self.img_paths = [] self.labels = [] with open(self.txt_file, 'r') as f: lines = f.readlines() for line in lines: items = line.split(',') # .csv

定义以下函数以读取.csv文件的内容并将其存储到列表中:

def _read_txt_file(self):
    self.img_paths = []
    self.labels = []
    with open(self.txt_file, 'r') as f:
        lines = f.readlines()
        for line in lines:
            items = line.split(',')  # .csv
            self.img_paths.append(items[0])
            self.labels.append(int(items[1]))

6号线出了点问题。PyCharm调试器显示变量
行的正常值,即
'../ZP_45151/0.bin,0\n'
'../ZP_45151/0.bin,1\n'
等等。但是
变量显示了一个奇怪的值,即,
,\n'
,这显然是丢失了什么。有人知道为什么操作没有完成整个内容吗?

嗯,我检查了我的reading.csv文件,发现有大量空白行以字符串格式表示为
,\n'
。问题已经解决。

您真的确定所有行都没有丢失数据吗?如果你有几千行,很容易漏掉一行。旁注:这里不需要
readlines
。只需对f:
中的行执行
,并删除
行=f.readlines()
,您就可以逐个处理行,而无需将所有行预先保存在内存
列表中,从而节省内存。或者更好的是,用包装,因为
str.split(',')
没有解析CSV。哦,是的,我的行中存在一些缺少的数据。谢谢你的建议。