如何在没有列标题的情况下输出到csv?

2024-06-26 00:06:10 发布

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

我将我的scrape输出到一个.csv,但是我是用同一个spider的多个实例输出到同一个.csv。这会导致头重复,从而导致数据库插入出现问题。在

我找到了here如何完全删除头文件,但他只在文件中已有内容时才删除它们的解决方案似乎行不通。我只想在那发表评论,但我的名声还不够高。在

有人知道我怎样才能只打印一次列标题到一个文件中吗?在

如果Argi()总是试图告诉0这个解是相等的。看起来这是如此接近,我只是不知道如何判断文件中是否有内容。在


Tags: 文件csv实例数据库标题内容here头文件
1条回答
网友
1楼 · 发布于 2024-06-26 00:06:10

我将把上述答案的代码改为以下内容:

从垃圾出口商导入CSViteExporter

class HeadlessCsvItemExporter(CsvItemExporter):

    def __init__(self, *args, **kwargs):

        # args[0] is (opened) file handler
        # if file is not empty then skip headers
        if os.fstat(args[0].fileno()).st_size > 0:
            kwargs['include_headers_line'] = False

        super(HeadlessCsvItemExporter, self).__init__(*args, **kwargs)

或者,您可以不使用os模块来执行此操作:

从垃圾出口商导入CSViteExporter

^{pr2}$

seek函数中,第一个参数是要查找的偏移量(在本例中,0为空),第二个参数{}表示它应该从文件末尾开始查找。结果是文件处理程序位置跳转到文件末尾,然后tell按预期工作。在

相关问题 更多 >