[AstroPy] "ASCII" tables that contain non-ASCII characters

Derek Homeier derek at astro.physik.uni-goettingen.de
Mon Oct 24 18:11:34 EDT 2016


On 25 Oct 2016, at 12:01 am, Nathan Goldbaum <nathan12343 at gmail.com> wrote:
> 
> I believe this is issue 2923:
> 
> https://github.com/astropy/astropy/issues/2923
> 
> On Mon, Oct 24, 2016 at 4:45 PM, Benjamin Alan Weaver <baweaver at lbl.gov> wrote:
> Hello y'all,
> 
> We are trying to read "ASCII" tables containing atomic line data
> provided by NIST.  When you request the line wavelength data in
> angstroms, NIST very helpfully labels the columns with the angstrom
> symbol (Å), which is not strictly part of the ASCII character set.
> 
> We can read these tables with Table.read() *and* the environment
> variable LANG=en_US.utf-8 set.  However, if LANG is not set,
> Table.read() fails to decode these files.
> 
> As far as I can tell the underlying read() function in astropy.io.ascii
> does not accept keywords related to the file encoding.
> 
> So two questions:
> 
> 1. Is the lack of an encoding keyword a bug that should be reported?
> 
> 2. Is there a workaround that does not rely on LANG being set?

A workaround that would at least get you away without manipulating the
environment outside Python would be

import locale
locale.setlocale(locale.LC_ALL, str(‘en_US.utf8’))

Cheers,
					Derek




More information about the AstroPy mailing list