我已经编写了一个小python代码,它将读取一个示例csv文件并将其第一列复制到一个temp csv文件。现在,当我尝试将该临时文件与另一个文本文件进行比较,并尝试将结果写入另一个名为result file的文件时,该文件已创建,但内容为空。你知道吗
但当我测试了它在块,它是工作良好
import csv
f = open("sample.csv", "r")
reader = csv.reader(f)
data = open("temp1.csv", "w")
w = csv.writer(data)
for row in reader:
my_row = []
my_row.append(row[0])
w.writerow(my_row)
with open('temp1.csv', 'r') as file1:
with open('serialNumber.txt', 'r') as file2:
same = set(file1).intersection(file2)
with open('result.txt', 'w') as file_out:
for line in same:
file_out.write(line)
print line
你知道吗示例.csv你知道吗
M11435TDS144,STB#1,Router#1
M11543TH4292,STB#2,Router#1
M11509TD9937,STB#3,Router#1
M11543TH4258,STB#4,Router#1
你知道吗序列号.txt你知道吗
G1A114042400571
M11543TH4258
M11251TH1230
M11435TDS144
M11543TH4292
M11509TD9937
您应该先关闭输出文件(
temp1.csv
),然后才能从中读取数据。你知道吗有关代码的要点:
data
文件句柄未关闭。data.close()
在写入temp1.csv
之后。你知道吗same = set(file1).intersection(file2)
中,直接将文件句柄file2
传递给交集。它需要一个列表。这正是问题所在。应该是same = set(file1.readlines()).intersection(file2.readlines())
工作代码:
temp1.csv的内容:
内容结果.txt:
您可以使用
with
打开文件示例.csv和temp1.csv如下。相关问题 更多 >
编程相关推荐