将单行格式化为CSV

2024-09-30 01:22:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个脚本来将大量数据转换成CSV格式。它使用mapreduceapi在googleappengine上运行,这只与它相关,它意味着每一行数据都是在回调函数中单独格式化和输出的。在

我想利用csv模块中已经存在的逻辑将我的数据转换成正确的格式,但是因为CSV编写器需要一个类似文件的对象,所以我必须为每一行实例化一个StringIO,将该行写入对象,然后每次返回对象的内容。在

这看起来很傻,我想知道是否有任何方法可以访问csv模块的内部CSV格式化逻辑,而不需要编写部分。在


Tags: 模块文件csv数据对象实例函数脚本
2条回答

一种选择是拥有自己的“类似文件”的对象。实际上,cvs.writer只要求对象有一个write方法,因此:

class PseudoFile(object):
    def write(self, string):
        # Do whatever with your string

csv.writer(PseudoFile()).writerow(row)

你跳过了几步,但也许这正是你想要的。在

csv模块包装了用C编写的_csv模块。您可以获取它的源代码并将其修改为不需要类似于文件的对象,但是在模块中闲逛,我看不到任何不重新编译的清晰方法。在

相关问题 更多 >

    热门问题