2010-02-19 230 views
3

我正在从python导出数据与csv库,它工作得很好。在网络搜索后,我找不到有关如何使用python格式化导出数据的任何信息。python csv - 导出数据和格式颜色,文本格式等

例如。我这样在p​​ython中导出一个csv行。

for hour_record in object_list: 
      row = list() 
      for field in fields: 
       try: 
        row.append(getattr(hour_record, field)) 
       except: 
        pass 
      writer.writerow(row) 

现在我想知道如何将一些格式化信息传递给row.append调用。例如,如果我想格式化文本红色,并确保它被格式化为数字等。

任何人的想法这是如何工作的?

回答

2

CSV仅用于纯文本。如果您希望包含格式化信息,则必须嵌入HTML片段,或者必须将这些属性添加为单独的字段。任一选项都会要求理解所述格式化机制的消费者。

+0

好的谢谢。如果我确定了你的话,如果我想添加格式化信息,我应该使用另一个库进行导出。例如一个.xls库。你能推荐一个用于导出数据的excel库吗? – 2010-02-19 11:08:12

+1

有人提到'xlwt'有好的结果,尽管我从来没有机会自己使用它。 – 2010-02-19 11:12:15

+0

谢谢,我会试一试。 – 2010-02-19 11:19:36

0

相反CSV的,你应该使用numpy.genfromtxt和numpy.savetxt:

>>> data = numpy.genfromtxt('mydata.txt', dtype=None) 
>>> <-> work with the data recarray object 
>>> numpy.savetxt('results.txt', data) 

如果你看看帮助(numpy.savetxt),你可以看到有一个“格式化”选项,允许您指定输出格式。

要输出颜色,您必须在另一个答案中使用HTML,或者您可以使用仅用于输出到STDOUT的模块terminalcolor