无法在python中创建csv文件并从其他文件复制数据

无法在python中创建csv文件并从其他文件复制数据,python,csv,Python,Csv,这段代码从ss文件中提取一个单词并匹配1文件中的所有条目,然后选择它们并创建一个包含这些条目的文件,该文件的名称将是关键字。 但循环还是有问题的,我不明白。它创建了一个并没有名字的文件 假设1.csv包含带有xyz的特定数据,我们从ss.csv文件中传递xyz关键字,并与所有条目匹配,然后从整行中选取它们并在另一个csv文件中打印它们 import csv #opening the first file to read first_file = open('1.csv') first_var

这段代码从ss文件中提取一个单词并匹配1文件中的所有条目,然后选择它们并创建一个包含这些条目的文件,该文件的名称将是关键字。 但循环还是有问题的,我不明白。它创建了一个并没有名字的文件 假设1.csv包含带有xyz的特定数据,我们从ss.csv文件中传递xyz关键字,并与所有条目匹配,然后从整行中选取它们并在另一个csv文件中打印它们

 import csv
#opening the first file to read
first_file = open('1.csv')
first_var = csv.reader(first_file)

#creating list to append the values
new_values = []
old_values = []

#reading all the keyword from the external csv file
varia_3 = []
strng_conv=''
varia_1 = ''
external_keyw_file = open('ss.csv')
external_keyw_ob = csv.reader(external_keyw_file)


#extracting all the rows from keywords passed
#loop
for i in external_keyw_ob:
    varia_2=i
    strng_conv = ''.join(map(str,varia_2))
    print "%s\n"%strng_conv
    varia_1 = strng_conv+'.csv'
    print varia_1
    for row in first_var:
        if  strng_conv in row[2]:
            new_values.append(row)
        else:
            old_values.append(row)

    second_file = open(varia_1, 'wb')
    second_ob = csv.writer(second_file, dialect = 'excel')
    second_ob.writerows(new_values)
    third_file = open('2.csv', 'wb')
    third_ob =csv.writer(third_file, dialect='excel')
    third_ob.writerows(old_values)
    fir_file = open('2.csv','wb')
    first_var =csv.reader(fir_file)
#opening third file after removing all the entries from the keywords passed in varia

看起来您只是希望创建一个阅读器来为您进行阅读-您需要实际告诉它在某个时候使用external_keyw_ob.readrows进行阅读,以获取您的关键字。尝试使用调试器或添加一些打印语句,以确保您拥有所需的内容。

在上面的代码中,您既不是从原始文件中读取,也不是在任何地方调用ext\u val。您能否用代码解释错误检查我编辑的代码,如果我再次尝试打开更新后的文件,那么它会抛出回溯错误。为什么?您仍然没有调用readrows try for external_keyw_ob.readrows:etc。-读卡器对象在被告知读取之前不会执行任何操作,就像写卡器不会神奇地写入一样。