Python for循环和多个CSV文件存在问题
第一个for循环似乎只考虑第一个csv文件中的第一行,不会继续比较。我试着用很多方法重写它,但现在我完全迷路了,所以我转向你们 有谁能告诉我,如果像我在这里写代码时有什么错误:Python for循环和多个CSV文件存在问题,python,Python,第一个for循环似乎只考虑第一个csv文件中的第一行,不会继续比较。我试着用很多方法重写它,但现在我完全迷路了,所以我转向你们 有谁能告诉我,如果像我在这里写代码时有什么错误: with open("./products.csv", mode="r") as products_list1: with open("./products2.csv", mode="r") as products_list2: with open("./results.csv", mode="a
with open("./products.csv", mode="r") as products_list1:
with open("./products2.csv", mode="r") as products_list2:
with open("./results.csv", mode="a") as results:
for i in products_list1:
for j in products_list2:
jaccard = get_jaccard_sim(i, j)
if jaccard >= 0:
results.writelines(i+","+j+"\n"+","+str(jaccard))
在为循环打开任何
之前,您应该执行以下操作:
pdt_list1 = products_list1.readlines()
pdt_list2 = products_list2.readlines()
并在pdt\u列表1
和pdt\u列表2
上执行操作
这将解决问题!祝你好运 在打开任何for
循环之前,您应该执行以下操作:
pdt_list1 = products_list1.readlines()
pdt_list2 = products_list2.readlines()
并在pdt\u列表1
和pdt\u列表2
上执行操作
这将解决问题!祝你好运 你可以试试这个
with open("./products.csv", mode="r") as products_list1:
lines1 = products_list1.readlines()
with open("./products2.csv", mode="r") as products_list2:
lines2 = products_list2.readlines()
with open("./results.csv", mode="a") as results:
for i in lines1:
for j in lines2:
jaccard = get_jaccard_sim(i, j)
if jaccard >= 0:
results.writelines(i + "," + j + "\n" + "," + str(jaccard))
你可以试试这个
with open("./products.csv", mode="r") as products_list1:
lines1 = products_list1.readlines()
with open("./products2.csv", mode="r") as products_list2:
lines2 = products_list2.readlines()
with open("./results.csv", mode="a") as results:
for i in lines1:
for j in lines2:
jaccard = get_jaccard_sim(i, j)
if jaccard >= 0:
results.writelines(i + "," + j + "\n" + "," + str(jaccard))
您需要提供有关要完成的操作的更多信息。文件不是列表,每次迭代之前都必须重新打开它们。产品中的i\u列表1:
应读取产品中的i。readlines():
以获得实际列表,从而循环输入。它与.readlines()配合使用。您需要提供有关要完成的任务的更多信息。文件不是列表,每次迭代之前都必须重新打开。对于产品中的i\u列表1:
应该读取产品中的i的。readlines():
以获得一个实际的列表来循环输入。它与.readlines()一起工作,类似于@Satya在这里提到的内容:类似于@Satya在这里提到的内容: