Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert spreadsheet number to column letter

Tags:

python

I'm looking for the opposite to this Q&A: Convert an excel or spreadsheet column letter to its number in Pythonic fashion.

or this one but in python How to convert a column number (eg. 127) into an excel column (eg. AA)

like image 449
jason Avatar asked May 26 '14 01:05

jason


2 Answers

def colnum_string(n):     string = ""     while n > 0:         n, remainder = divmod(n - 1, 26)         string = chr(65 + remainder) + string     return string  print(colnum_string(28)) #output:AB 
like image 58
sundar nataraj Avatar answered Sep 19 '22 08:09

sundar nataraj


The xlsxwriter library includes a conversion function, xlsxwriter.utility.xl_col_to_name(index) and is on github

here is a working example:

>>> import xlsxwriter  >>> xlsxwriter.utility.xl_col_to_name(10) 'K' >>> xlsxwriter.utility.xl_col_to_name(1) 'B' >>> xlsxwriter.utility.xl_col_to_name(0) 'A' 

Notice that it's using zero-indexing.

like image 33
travisa Avatar answered Sep 17 '22 08:09

travisa