<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: csv code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 29 Aug 2008 04:37:41 GMT</pubDate>
    <description>DZone Snippets: csv code</description>
    <item>
      <title>SQL export in zope</title>
      <link>http://snippets.dzone.com/posts/show/1653</link>
      <description>Takes the result of a Zope SQL query, and an ordered list of field names, and outputs a CSV file as the resultant web page.  Should be called like this:&lt;br /&gt;&lt;br /&gt;return context.sql.ordered-sql2csv(context.sql.exportOrders().dictionaries(), ["fullname","email","phone","address","town","postcode","children","adults","comments"])&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;## Script (Python) "ordered-sql2csv"&lt;br /&gt;##bind container=container&lt;br /&gt;##bind context=context&lt;br /&gt;##bind namespace=&lt;br /&gt;##bind script=script&lt;br /&gt;##bind subpath=traverse_subpath&lt;br /&gt;##parameters=sql, fo&lt;br /&gt;##title=&lt;br /&gt;##&lt;br /&gt;container.REQUEST.RESPONSE.setHeader("Content-Type", "text/csv", 0)&lt;br /&gt;sep = ""&lt;br /&gt;for dk in fo:&lt;br /&gt;  container.REQUEST.RESPONSE.write(sep + dk)&lt;br /&gt;  sep = ","&lt;br /&gt;sep = "\n"&lt;br /&gt;&lt;br /&gt;for rec in sql:&lt;br /&gt;  for i in range(0,len(fo)):&lt;br /&gt;    data=rec[fo[i]]&lt;br /&gt;    dl = str(data).split(',')&lt;br /&gt;    data1 = " ".join(dl)&lt;br /&gt;    container.REQUEST.RESPONSE.write(sep + str(data1))&lt;br /&gt;    sep = ","&lt;br /&gt;  sep="\n"&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Wed, 08 Mar 2006 08:24:28 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1653</guid>
      <author>MatthewWilkes (Matthew Wilkes)</author>
    </item>
  </channel>
</rss>
