On Wed, May 11, 2011 at 1:26 PM, James Reynolds <eire1...@gmail.com> wrote:
> your "\" is a "/" > > when writing out a string, such as 'C:\test.xls', the "/" is an escape in > python. So you have two choices, You can either write out path > = 'C:\\test.xls', which will be 'C:\test.xls' or you can write out path = > r'C:\test.xls' the "r" bit tells python that the following is a regular > expression. or regex. > r means this is 'raw data'. Take each character literally. Raw data does not use \ as a prefix to an escape code. It is just another character > > You can also use Walter's method above. > > On Wed, May 11, 2011 at 1:10 PM, tax botsis <taxbot...@gmail.com> wrote: > >> James, >> how would you save the workbook into a specific directory? I tried to run >> that: >> >> workbook.save('C:/test.xls') >> >> but I get the following error: >> >> >> Traceback (most recent call last): >> File "<pyshell#50>", line 1, in <module> >> wbk.save("C:/test.xls") >> File "C:\Python26\lib\site-packages\xlwt\Workbook.py", line 634, in save >> doc.save(filename, self.get_biff_data()) >> File "C:\Python26\lib\site-packages\xlwt\Workbook.py", line 615, in >> get_biff_data >> self.__worksheets[self.__active_sheet].selected = True >> IndexError: list index out of range >> >> Thanks >> Tax >> >> >> 2011/5/11 James Reynolds <eire1...@gmail.com> >> >>> Slow day at work, so I tried something a little different mostly as a >>> learning exercise for myself, let me know what you all think. >>> >>> I thought it would be useful to have a writer that scales and that >>> organizes the data. For example, you might have 20 tests one day, and 5 the >>> next. >>> >>> I broke up the data into dictionaries where the IDs were keys, and >>> everything that follows is a tuple of testX and result. >>> >>> Instead of iterating through each column, it only writes to the columns >>> where data is present. >>> >>> Disclaimer: I am copying and pasting into Gmail, which sometimes screws >>> up indents. >>> >>> I also put it into pastebin, which was pretty exciting considering I have >>> never used it before: >>> >>> http://pastebin.com/2Dke5FtX >>> >>> import xlwt >>> >>> >>> class Parser: >>> ''' >>> classdocs >>> ''' >>> >>> >>> def __init__(self, test, result): >>> ''' >>> Constructor >>> ''' >>> self.result = result >>> self.test = test >>> self.id = int(self.test[4:]) >>> >>> x = open('test.txt') >>> >>> id_dict = {} >>> >>> for all in x: >>> y = all.split(" ") >>> y[-1] = y[-1].strip() >>> id_dict[y[0]] = y[1:] >>> >>> max_test = 0 >>> for key, lists in id_dict.items(): >>> length = len(lists)/2 >>> a = 0 >>> parser_list = [] >>> for items in range(length): >>> t = (lists[a], lists[a+1]) >>> p = Parser(*t) >>> parser_list.append(p) >>> if max_test < p.id: >>> max_test = p.id >>> a +=2 >>> id_dict[key] = parser_list >>> >>> >>> workbook = xlwt.Workbook() >>> worksheet = workbook.add_sheet("testruns", cell_overwrite_ok=True) >>> header = 'TEST{0}' >>> headers = ['ID'] >>> range_id = range(max_test +1) >>> for all in range_id[1:]: >>> headers.append(header.format(all)) >>> >>> for i, colno in enumerate(headers): >>> print i, type(i) >>> worksheet.write(0, i, colno) >>> rowno = 1 >>> for keys, values in id_dict.items(): >>> worksheet.write(rowno, 0, keys) >>> for object_lists in values: >>> worksheet.write(rowno, object_lists.id , object_lists.result) >>> rowno +=1 >>> >>> >>> workbook.save("test.xls") >>> >>> >>> >>> >>> On Wed, May 11, 2011 at 9:58 AM, Walter Prins <wpr...@gmail.com> wrote: >>> >>>> >>>> >>>> On 11 May 2011 14:34, tee chwee liong <tc...@hotmail.com> wrote: >>>> >>>>> hi all, >>>>> >>>>> thanks for this sharing. when i copy and run this code, i got this >>>>> error: >>>>> >>>>> Traceback (most recent call last): >>>>> File "C:/Python25/myscript/excel/sampleexcel.py", line 1, in <module> >>>>> import csv >>>>> File "C:/Python25/myscript/excel\csv.py", line 3, in <module> >>>>> w=csv.writer(open('output.csv','w')) >>>>> AttributeError: 'module' object has no attribute 'writer' >>>>> >>>>> >>>> Well, reading the error message, it's saying that module "csv", coming >>>> from file "C:/Python25/myscript/excel\ >>>> csv.py" has no member "writer". So, it seems you've called your test >>>> script (module) "csv" which effecitvely hid the standard python "csv" >>>> module. >>>> >>>> Try renaming your script file to something else ('testcsv.py' maybe) so >>>> its name doesn't conflict with the standard "csv" module and try again. >>>> >>>> Walter >>>> >>>> _______________________________________________ >>>> >>>> Tutor maillist - Tutor@python.org >>>> To unsubscribe or change subscription options: >>>> http://mail.python.org/mailman/listinfo/tutor >>>> >>>> >>> >>> _______________________________________________ >>> Tutor maillist - Tutor@python.org >>> To unsubscribe or change subscription options: >>> http://mail.python.org/mailman/listinfo/tutor >>> >>> >> > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > > -- Joel Goldstick
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor