将刮取的数据导出到带有行标题的CSV格式

2024-04-19 20:47:39 发布

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

Scrapy将数据按列写入CSV文件,默认为一个字段/列。我如何写数据行,也就是说,水平地写一行的第一个单元格将是字段的名称。在

我浏览了scrapy documentation,但是没有任何东西可以用来更改CSV中数据的写入格式

更新:

我现在的情况:

产品,价格
电视,25000
冰箱,15000

这就是我想要的:

产品、电视、冰箱
价格,2500015000

为什么我要那样?
我正在继续其他人之前完成的数据提取过程,65%的过程已经完成。所以这是为了保持格式的一致性。在


Tags: 文件csv数据名称产品过程documentation格式
1条回答
网友
1楼 · 发布于 2024-04-19 20:47:39

如果CSV文件很大,并且您希望避免将数据加载到Python列表或字典中,可以执行以下操作:

infile = "/path/to/input_file.csv"
outfile = "/path/to/output_file.csv"
with open(infile, 'r') as source:
    num_fields = len(source.readline().split(','))
    source.seek(0) # Go back to beginning
    with open(outfile, 'w') as dest:
        for n in range(num_fields):
            for input_line in source:
                dest.write(input_line.split(',')[n] + ',')
            source.seek(0)
            dest.write('\b\n') # remove trailing comma

否则,您只需加载所有内容:

^{pr2}$

相关问题 更多 >