You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将列表首元素与末尾5个元素配对并正确写入CSV?

修复CSV输出格式问题:让列表元素成为独立列

我一眼就看出问题出在你创建uji列表的那一行!你现在把x[-5:]作为单个列表元素添加到a里了,所以csv.writer会把这个子列表直接转成字符串写进CSV,就出现了带引号的['1', '0', ...]这种格式。

要解决这个问题,你需要把x[0]和x[-5:]的元素合并成一个扁平的列表,而不是嵌套列表。具体修改如下:

修复后的代码

def datauji(self):
    uji = []
    for x in self.fiturs:
        # 把x[0]和x最后5个元素合并成一个扁平列表
        a = [x[0]] + x[-5:]
        uji.append(a)
    return uji

with open('DataUjiBaru.csv','wb') as dub:
    testing = csv.writer(dub)
    datatest = d.datauji()
    datatest.pop(0)
    for x in datatest:
        testing.writerow(x)

为什么这样改?

原来的代码中a = [x[0],x[-5:]]会生成一个类似['F37', ['1','0','0','0','1']]的嵌套列表。当csv.writer处理这个列表时,它会把第二个元素(子列表)转换成字符串形式,就导致了CSV里出现带引号的列表内容。

而修改后的[x[0]] + x[-5:]会生成一个扁平列表:['F37', '1','0','0','0','1'],csv.writer会把每个元素作为单独的列写入,正好符合你想要的输出格式。

内容的提问来源于stack exchange,提问作者Fachrul Rozy Saputra R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:28:34