[IPython-dev] Visual representation of SQL extracted data
Simon Cropper
simoncropper at fossworkflowguides.com
Thu May 15 21:46:43 EDT 2014
On 16/05/14 11:30, Thomas Kluyver wrote:
> There's also a couple of tools to build tables, with unfortunately
> almost identical names:
>
> - IPyTables (my code) - https://gist.github.com/takluyver/5098835 (I
> mean to rename this and make it a proper repo at some point)
> - ipy_table - https://github.com/epmoyer/ipy_table
>
> Thomas
>
>
> On 15 May 2014 18:11, Mark Voorhies <mark.voorhies at ucsf.edu
> <mailto:mark.voorhies at ucsf.edu>> wrote:
>
> On 05/14/2014 10:55 PM, Simon Cropper wrote:
> > Hi,
> >
> > New to iPython and the standard set of tools bound to the server
> (e.g.
> > Pandas, etc).
> >
> > What I was wondering is there a library, or a notebook showing
> the use
> > of the standard libraries bound to iPython, that allows tabular
> data to
> > be formatted.
> >
> > Most examples I can find are essentially text dumps to the
> notebook. In
> > contrast, graphs and images have great formatting ability.
> >
> > Why? I am looking at using iPython to data wrangle or munge large
> > biological datasets (plant names, biological and ecological
> attributes,
> > locational data). The notebook feature will allow others to visualize
> > and follow steps used to collate, convert, merge, summarize and
> analyze
> > this data.
> >
> > Is this doable, or am I trying to use the notebook in the wrong way?
> >
> > Any feedback would be appreciated.
> >
>
> I think Pandas is good at this, but I haven't played with it.
>
> A general strategy is to use HTML from IPython.core.display to
> render pretty HTML tables.
>
> Here's an example for tabular display of protein sequence alignments
> (with a horizontal
> scrollbar and green/red coloring of gaps/mutations):
>
> def tabformat(seqs, names = None):
> """Return the given sequence alignment as a pretty HTML table.
> seqs = list of strings with a common length (one letter
> amino-acid codes or "-" for gap)
> names = sequence names as list of strings, same length as seqs
> """
> if(names is None):
> names = [str(i) for i in xrange(len(seqs))]
> retval = '<DIV style="font-family: monospace; font-size:
> small">\n'
> retval += '<DIV><TABLE style="overflow: auto; position:
> relative; float: left; width: 8em">\n'
> for n in names:
> retval += "<TR><TD>%s</TD></TR>\n" % n
> retval += "</TABLE></DIV>\n"
> retval += '<DIV style="overflow: auto; width: 90em; position:
> relative; float: left"><TABLE>\n'
> for i in seqs:
> retval += "<TR>\n"
> for (j,k) in zip(i,seqs[0]):
> if(j != k):
> if(j == "-"):
> c = 'style="background-color: green"'
> else:
> c = 'style="background-color: red"'
> else:
> c = ""
> retval += '<TD %s>%s</TD>' % (c,j)
> retval += "</TR>\n"
> retval += "</TABLE></DIV>\n"
> retval += "</DIV>\n"
> return retval
>
> from IPython.core.display import HTML
> HTML(data = tabformat([i*100 for i in ("SPAM", "SPAM", "SCAM",
> "SPAM", "SPA-", "SPAM", "SPAN")]))
>
> --Mark
>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org <mailto:IPython-dev at scipy.org>
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>
>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
Thanks Thomas,
How do you use your scripts? Can you provide an example. I looked at
your GIST but could not find an explanation of how to use it.
--
Cheers Simon
Simon Cropper - Open Content Creator
Free and Open Source Software Workflow Guides
------------------------------------------------------------
Introduction http://www.fossworkflowguides.com
GIS Packages http://www.fossworkflowguides.com/gis
bash / Python http://www.fossworkflowguides.com/scripting
More information about the IPython-dev
mailing list