首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在读取文件Python 3时输入循环的问题

在读取文件Python 3时输入循环的问题
EN

Stack Overflow用户
提问于 2019-08-14 19:53:05
回答 2查看 47关注 0票数 0

我的代码有一个问题--它没有进入循环"for line in f2“。此代码用于比较两个文件,如果一个文件的第0列中的字符串与第二个文件的第1列中的字符串匹配,则将其写到该文件中。

我是Python的初学者,所以我不知道哪里出了问题。我试着调试,但没有提供任何帮助。有人知道我做错了什么吗?

代码语言:javascript
复制
f1=open("D:\\bowtie2\\posortowane_cale_test.csv","w")
with open("D:\\bowtie2\\dobazy228k_test.csv") as f:
    for yy in f:
        y=yy.split(";")
        #print(y)
        #sp1=y[1]
    with open ("D:\\bowtie2\\zliczone_test.csv") as f2:
        for xx in f2:
            xx=xx[0:len(xx)-1]
            x=xx.split(";")
        for line in f2:
            sp1=y[0]
            sp2=x[1]
            print("bb")
            if sp1==sp2:
                print("aaa")
                f1.write(x[1]+";"+y[0]+"\n")#";"+x[1]+";"+x[2]+";"+x[3]+";"+x[6]+";"+x[7]+";"+x[8]+";"+sp1+"/"+sp2+"\n")
    f2.close()
f.close()
f1.close()
EN

回答 2

Stack Overflow用户

发布于 2019-08-14 19:58:38

在第一次完成读取后,使用f2.seek(0)再次跳到文件的开头。即使您没有直接使用读取方法,读取指针仍会移动到最后一个读取字节/字符之后的位置。

票数 0
EN

Stack Overflow用户

发布于 2019-08-14 20:13:13

回答建议

您的缩进级别似乎是关闭的,因为您首先迭代f,变量y被覆盖。只有在那时,您才会尝试比较。此外,for xx in f2:等同于for line in f2:。如果我对您的代码的解释是正确的,那么删除for line in f2:并打算包括with open ("D:\\bowtie2\\zliczone_test.csv") as f2:在内的所有内容以及之后的一切都会修复代码。

附注

注意,您可以在字符串之前使用r

"D:\bowtie2\posortowane_cale_test.csv“

要将以下字符串解释为原始字符串,意味着字符串中的*不再被视为转义字符,您可以复制粘贴文件路径:

r"D:\bowtie2\posortowane_cale_test.csv"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57494184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档