Python 通过readlines()方法读取行时出错
定义以下函数以读取.csv文件的内容并将其存储到列表中: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
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。哦,是的,我的行中存在一些缺少的数据。谢谢你的建议。