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