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