Python Forum
Complete NEWB and openpyxl project
Thread Rating:
  • 6 Vote(s) - 3.5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Complete NEWB and openpyxl project
#21
Like almost always, the easiest way to understand this is to print data.
data is tuple of tuples. Each of these inner tuples is one row. Each element in one such tuple is the value in a single cell.
Tuple is an iterable, i.e. you can iterate over its elements one by one. That is why you can do for row in data:. In each iteration of the loop row will hold next sub-tuple.

Now, defaultdict(list) has effect on groups[group].append(row). Here is the docs for defaultdict. In this case, using list, it will have default value of empty list.
When we do groups[group].append(row) we append respective row to the value for key group (Note that group is variable, it will have some values like '1', '2', '3' or '4', depending what is the last char in the last element (row[-1][-1]) in the respective row (tuple). What will happen if we were not using defaultdict but ordinary dict and there was no such key in the dict? Yes, you will get KeyError. With the defaultdict in our case it just creates empty list, map it to key group and allow you to append row to that list, without raising an exception. Of course there is way to do something like this also with normal dict, but with defaultdict is more convenient.
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Messages In This Thread
Complete NEWB and openpyxl project - by Netopia - Jan-09-2019, 08:06 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-09-2019, 08:44 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-09-2019, 09:43 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-09-2019, 09:46 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-09-2019, 09:53 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-09-2019, 10:11 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-09-2019, 10:14 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-10-2019, 06:26 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-10-2019, 07:37 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-10-2019, 08:03 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-10-2019, 08:30 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-10-2019, 08:36 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-10-2019, 08:39 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-11-2019, 01:19 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-11-2019, 01:44 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-11-2019, 01:48 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-11-2019, 01:54 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-11-2019, 01:57 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-11-2019, 02:47 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-11-2019, 02:54 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-11-2019, 03:00 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-14-2019, 07:20 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-14-2019, 07:44 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-14-2019, 08:24 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-14-2019, 08:27 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-15-2019, 12:22 AM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-15-2019, 02:56 AM
RE: Complete NEWB and openpyxl project - by buran - Jan-15-2019, 10:05 AM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-15-2019, 02:14 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-15-2019, 02:21 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-16-2019, 04:36 AM
RE: Complete NEWB and openpyxl project - by buran - Jan-16-2019, 07:04 AM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-16-2019, 03:29 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-16-2019, 05:19 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-17-2019, 04:59 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-17-2019, 05:08 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-17-2019, 05:33 PM
RE: Complete NEWB and openpyxl project - by buran - Jan-17-2019, 06:04 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-17-2019, 10:19 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-18-2019, 03:31 AM
RE: Complete NEWB and openpyxl project - by buran - Jan-18-2019, 07:07 AM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-18-2019, 02:15 PM
RE: Complete NEWB and openpyxl project - by Netopia - Jan-18-2019, 08:15 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Python newb need help Fictile 1 330 Apr-02-2024, 03:28 AM
Last Post: buran
  NameError issue with daughter's newb code MrGonk 2 1,532 Sep-16-2021, 01:29 PM
Last Post: BashBedlam
  Simple newb string question Involute 2 2,312 Sep-08-2019, 12:50 AM
Last Post: Involute
  please help this newb install pygame iofhua 7 6,158 May-15-2019, 01:09 PM
Last Post: buran
  Newb question: Debugging + Linting Python in Visual Studio Code Drone4four 1 2,505 Apr-15-2019, 06:19 AM
Last Post: perfringo
  Newb question about %02d %04d bennylava 30 20,144 Mar-05-2019, 11:23 PM
Last Post: snippsat
  Pthyon 3 question (newb) bennylava 11 6,107 Feb-28-2019, 06:04 PM
Last Post: buran
  newb selfie PatM 5 3,745 Feb-19-2019, 12:20 AM
Last Post: snippsat
  Newb Question - Threading in Crons vvarrior 2 2,885 Jul-20-2018, 08:12 PM
Last Post: vvarrior
  Matt's newb question 1 MattSS102 1 2,785 Aug-28-2017, 03:27 AM
Last Post: BerlingSwe

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020