On Mon, Feb 1, 2016 at 9:07 AM, Chelsea G <cegarcia0...@gmail.com> wrote:

> Hi,
>
> So I am trying to get my function search to print  in a text file, but I
> can only get it to print to Powershell. I have tried several things to get
> it to print in its own text file but nothing I have tried is working. Can
> someone tell me what I am doing wrong?
>
> import csvimport sysimport jsonfrom collections import defaultdictfrom
> collections import Counter
> data = defaultdict(list)
> mydict = defaultdict(list)
> class dictionary:
>         def __init__(self):
>                 self.dict = defaultdict(list)
>                 self.counted_dict = defaultdict(list)
>                 self.grouped_dict = defaultdict(list)
>                 self.other_dict = defaultdict(list)
>                 self.final_dict = defaultdict(list)
>                 self.total_dict = defaultdict(list)
>                 self.search_dict = defaultdict(list)
>
>
>         def populate_dict(self, filename):
>                 with open('weekly_test.csv', 'rb') as f:
>                         reader = csv.reader(f)
>                         next(reader, None)
>                         for row in reader:
>                                 self.dict[row[2]].append(row[3])
>
>
>         def total_counts(self):
>                 for key in self.dict.keys():
>                         total = 0
>                         b = Counter(self.dict[key])
>                         for value in b:
>                                 total += b[value]
>                                 self.total_dict.update({key: str(total)})
>
>         def all_counts(self):
>                 data_count = Counter()
>                 for key in self.dict.keys():
>                         self.counted_dict.update({key:
> Counter(self.dict[key])})
>
>
>         def grouped_counts(self):
>                 for key in self.dict.keys():
>                         total = 0
>                         c = Counter(self.dict[key])
>                         for value in c:
>                                 if c[value] >= 5:
>                                         self.grouped_dict.update({value:
> key + ': ' + str(c[value])})
>
>                                 elif c[value] <= 4:
>
>                                         total += c[value]
>                                         self.other_dict.update({key:
> 'other: ' + str(total)})
>
>                         self.final_dict = self.grouped_dict,
> self.other_dict, self.total_dict
>
>         def json_output(self):
>                 with open ('weekly2.txt', 'w') as text_file:
>                         json.dump(self.final_dict, text_file, sort_keys =
> True, indent = 4)
>
>         def search(self, filename):
>                 with open('weekly_test.csv', 'r') as searchfile:
>                         for line in searchfile:
>                                 if 'PBI 43125' in line:
>                                         print line
>
i'm guessing above prints

>                 with open('testdoc.txt', 'w') as text_file
>                         text_file = searchfile
>

try something like this:

>         def search(self, filename):
>                 with open('weekly_test.csv', 'r') as searchfile:
>                     with open('testdoc.txt', 'w') as text_file
>                         for line in searchfile:
>                                 if 'PBI 43125' in line:
>                                         text_file.write(line + '\n'

_______________________________________________
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
>



-- 
Joel Goldstick
http://joelgoldstick.com/stats/birthdays
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to