【发布时间】:2014-12-10 07:18:28
【问题描述】:
我有两个格式如下的“.csv”文件: 第一个文件:
Roll_num Class_Name
1 ABC
2 DEF
5 PQR
27 UVW
第二个文件:
Roll_num Marks Grade
1 75 A
2 60 C
27 68 B
61 45 E
现在我想在第二个文件中添加一个列,从第一个文件中附加一个列“Class_Name”。两个文件中的数据都有重复,没有排序。
我编写了以下代码,将我们需要的数据从 2 个文件写入一个新文件。
import csv
path="xyz"
file_read=open(path + "ClassName.CSV", "r")
reader_ClassName = csv.reader(file_read)
read_all_data=open(path + "Student.CSV", "r")
reader_Student =csv.reader(read_all_data)
write_all_data=open( path +"Student_Classname.CSV", "w")
for line_Student in reader_Student:
Roll_Student=line_Student[0]
for line_ClassName in reader_ClassName:
Roll_ClassName=line_ClassName[0]
ClassName=line_ClassName[1]
if(Roll_ClassName == Roll_Student):
string= Roll_Student +","+ClassName +"\n"
print string
write_all_data.write(string)
break
预期输出:
Roll_num Marks Grade Class_Name
1 75 A ABC
2 60 C DEF
27 68 B UVW
61 45 E LMN
输出我们的代码生成:
Roll_num Marks Grade Class_Name
1 75 A ABC
2 60 C DEF
从第二个内部“for”循环读取第三行时存在一些问题。 我们在这两个文件中都有数十万条记录。
【问题讨论】:
-
是否缺少数据?输入中没有值“LMN”,但它出现在输出中。
-
Roll_num中的值在每个文件中是否唯一? -
用更少的数据试试吧。
-
这两个文件的数据比较多。所以我只是举个例子。