Hi Madhu,

I don't know much about web scraping but I can explain why your output is so 
much smaller than your input: you keep writing over your output file. The way I 
see it you have two options:

1. Where you wrote "mode='wt'", change "wt" to "at". The replacement "at" 
appends your output text, as opposed to "wt", which writes over your output 
text as if the file hadn't already existed.

2. Leave the file modes alone,  but move the "with" statement further up the 
"for" block. If you use this option, your code should look more like below (if 
email didn't garble the formatting):

with open('E:/amadown2py-master/reviews1.csv', 'r',encoding='UTF8') as csvfile:
    mycsv = csv.reader(csvfile)
    for row in mycsv:
        data = row[0]
        #print (data)
        with open('E:/amadown2py-master/Sam7_pos_rev.txt',mode='wt') as 
myfile:#Moved this!
            try:
                score = ast.literal_eval(row[1])
                if score > 3:
                    cnt=0;
                    #print (score)
                    print (data)
                    positivedata.append((data))
                    myfile.writelines('\n'.join(positivedata))
                    #myfile.close()#You shouldn't need this, bc you're using 
"with"

Of the two options, I would think that option 1 is easier.

HTH,

Ben I.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to