我的.txt看起来像这样:
"uc007ayl.1" "ENSMUSG00000041439"
"uc009mkn.1" "ENSMUSG00000031708"
等
我的代码是:
f = open("my dir"/"file name.txt", 'r')
r = f.readlines()
我打印读取它显示的内容如下:
'uc007ayl.1\tENSMUSG00000041439\ruc009mkn.1\tENSMUSG00000031708\ruc009mkn.1\tENSMUSG00000035491\ruc007aft.1\tENSMUSG00000025907\r etc.'
我使用代码检查了列表长度:
listlength = len(r)
它的长度为1,而我的文件中应该有3000行。有什么问题?
答案 0 :(得分:0)
我通常使用python 3,但我想我可以帮助你:
查看代码及其结果,readlines
似乎只返回文件中的所有数据。我将执行以下操作(假设文件内容为字符串fc
):
tlist=fc.split("\n")
dat=[]
for(s in tlist):
dat.append(s.split("\"))
我使用列表表达式,但老实说我不知道它们是否在2.7中工作。
答案 1 :(得分:0)
假设您希望每一行都是一个单独的列表项:
with open(r"filename.txt", "r") as f:
mylist = [line for line in f]
假设您希望每个“名称”都是一个单独的列表项:
with open(r"filename.txt", "r") as f:
mylist = [name for name in line.split("\t") for line in f]
<强> [编辑] 强>
根据正在印刷的内容,也许试试这个?
with open(r"filename.txt", "r") as f:
mylist = f.read().split("\r")
看起来文件中的每一行都是由\r
字符描绘的,这有点不寻常。在这种情况下,我会尝试按该角色手动分割文件,看看是否有效。