Fwd: Sorting Countries by Region

Sergio Correia sergio.correia at gmail.com
Fri Nov 16 15:04:16 EST 2007


Just a few notes:

1) get_countries_list

What is the purpose of that function? Besides a few errors (an
argument named list, no value returned), it seems you just want to
remove duplicates from a list called countries. You can do that
transforming the list to a 'set'.

new_countries =  list( set(countries) )

2) I would suggest using countries.sort(...) or sorted(countries,...),
specifying cmp or key options too sort by region instead.

3) Instead of doing this:

for country in unique_countries:
   matrix.write(n,1, country)
   n = n+1

Do something like

for i, cou in enumerate(unique_countries):
   matrix.write(1+i, 1, cou)

(so you dont need to increment the 'i' variable manually)


On Nov 16, 2007 2:13 PM,  <patrick.waldo at gmail.com> wrote:
> Hi all,
>
> I'm analyzing some data that has a lot of country data.  What I need
> to do is sort through this data and output it into an excel doc with
> summary information.  The countries, though, need to be sorted by
> region, but the way I thought I could do it isn't quite working out.
> So far I can only successfully get the data alphabetically.
>
> Any ideas?
>
> import xlrd
> import pyExcelerator
>
> def get_countries_list(list):
>     countries_list=[]
>     for country in countries:
>         if country not in countries_list:
>             countries_list.append(country)
>
> EU = ["Austria","Belgium", "Cyprus","Czech Republic",
> "Denmark","Estonia", "Finland"]
> NA = ["Canada", "United States"]
> AP = ["Australia", "China", "Hong Kong", "India", "Indonesia",
> "Japan"]
> Regions_tot = {'European Union':EU, 'North America':NA, 'Asia
> Pacific':AP,}
>
> path_file = "c:\\1\country_data.xls"
> book = xlrd.open_workbook(path_file)
> Counts = book.sheet_by_index(1)
> countries= Counts.col_values(0,start_rowx=1, end_rowx=None)
>
> get_countries_list(countries)
>
> wb=pyExcelerator.Workbook()
> matrix = wb.add_sheet("matrix")
>
> n=1
> for country in unique_countries:
>     matrix.write(n,1, country)
>     n = n+1
>
> wb.save('c:\\1\\matrix.xls')
>
>
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>



More information about the Python-list mailing list