Python—从文件中提取数据并插入数组包括'\n';。如何不包含它,以便我可以对文本排序并更改它?
我有一些.txt文件,这些文件有图像的分类标签,每一行上都有不同的标签。 标签或行的最大数量为7。在不同数量的标签和顺序中,它看起来像这样: 标签1 标签3 标签2 标签5 当我将数据拉入数组时,它包括“\n”(用于新行)并在一行中查看数据。对于3个文件,我期待类似的内容: y=([label1,label3,label2,label5],[label1],[label5,label2,label3]) 或者至少 y=((label1,label3,label2,label5),(label1),(label5,label2,label3)) 我的代码如下:Python—从文件中提取数据并插入数组包括'\n';。如何不包含它,以便我可以对文本排序并更改它?,python,arrays,list,Python,Arrays,List,我有一些.txt文件,这些文件有图像的分类标签,每一行上都有不同的标签。 标签或行的最大数量为7。在不同数量的标签和顺序中,它看起来像这样: 标签1 标签3 标签2 标签5 当我将数据拉入数组时,它包括“\n”(用于新行)并在一行中查看数据。对于3个文件,我期待类似的内容: y=([label1,label3,label2,label5],[label1],[label5,label2,label3]) 或者至少 y=((label1,label3,label2,label5),(label1)
y=[ ]
for path in [f for f in os.listdir(DATA_DIR) if f[-4:] == ".png"]: # for .png files in directory
with open(DATA_DIR + path[:-4] + ".txt", "rU") as s: # opens a .txt file of same name as image
label = s.read()
#print(label)
y.append(label)
但是,这给出了文件中由新行代码“\n”分隔的内容。我认为“rU”删除了数据中的“\n”值,并允许将其正确地放入列表或数组中。我喜欢使用str.splitlines(),它将为您处理各种换行 我想你可能想要
y.append(label.split('\n'))
查看rstrip()或str.replace(“\n”,”)耶!现在进入下一步。非常感谢大家!!print(y[5])给出['label5','label1']print(y[900])给出['label1','label3','label4']
。splitlines()
是正确的解决方案,它将正确处理任何换行标记。