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

如何将列表每行存两个元素到CSV文件,使内存信息位于B列

解决CSV文件列对齐问题的方案

你的问题核心出在数据结构和writerows()的使用逻辑上:原列表是一维扁平结构,writerows()会把每个字符串当作单独一行处理,而且单个字符串没有内部分隔符,所以每行只会占据一个单元格。要实现IP在A列、内存信息在B列的效果,你需要把数据整理成二维结构——每个子列表代表一行,包含IP和对应内存两个元素。

修改后的代码示例

import csv
# 避免用list作为变量名,它是Python内置类型,容易引发冲突
data_list = ['52.26.17.68', 'TotalPhysicalMemory : 4294361088', '10.12.15.14', 'TotalPhysicalMemory : 6546534654']

# 将数据两两配对:IP和对应内存信息组成一行数据
rows = zip(data_list[::2], data_list[1::2])

with open('testing.csv', 'w', newline='') as r:
    writer = csv.writer(r, delimiter='\t')
    writer.writerows(rows)

关键改动说明

  1. 数据分组逻辑:

    • data_list[::2]:提取列表中索引为0、2、4...的元素(即所有IP地址)
    • data_list[1::2]:提取列表中索引为1、3、5...的元素(即对应的内存信息)
    • zip()会把这两个序列的元素一一配对,生成类似('52.26.17.68', 'TotalPhysicalMemory : 4294361088')的元组,每个元组对应CSV里的一行数据,两个元素分别对应A、B列。
  2. 变量名优化:
    把原变量名list改成data_list,避免覆盖Python内置的list类型,防止后续代码出现意外错误。

最终效果

生成的CSV文件打开后会呈现预期格式:

A列(IP地址)B列(内存信息)
52.26.17.68TotalPhysicalMemory : 4294361088
10.12.15.14TotalPhysicalMemory : 6546534654

内容的提问来源于stack exchange,提问作者Posteingang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:48:01