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

如何使用csv writer与Pandas正确格式化TXT文档?新手求助

解决方案:将CSV顶点数据转换为指定格式输出

嘿,刚入门文件编写和格式化完全不用焦虑,我一步步带你实现想要的输出格式!

核心思路

你已经有了生成CSV的代码,现在只需要完成这几步:

  1. 读取CSV文件里的顶点数据(跳过表头Vertices)
  2. 给每一组64个顶点分配从0开始的编号
  3. 把每个顶点的x/y/z值转换成(x, y, z)的元组格式
  4. 按照Extracted_Vertices 0 [(...), (...), ...] 1 [(...), ...]的格式拼接最终内容

示例代码(Python)

假设你的CSV文件名为vertices.csv,用这段代码就能完成转换:

import csv

# 初始化输出内容的起始字符串
output_content = "Extracted_Vertices "

# 读取CSV文件
with open("vertices.csv", mode="r", newline="", encoding="utf-8") as csv_file:
    csv_reader = csv.reader(csv_file)
    # 跳过第一行的表头"Vertices"
    next(csv_reader)
    
    # 遍历每一行(对应一组64个顶点),自动获取编号
    for index, row in enumerate(csv_reader):
        # 把当前行的所有顶点转换成元组格式的字符串
        vertex_tuples = []
        for vertex_str in row:
            # 假设CSV里每个顶点是"x,y,z"格式(比如"3.2,9.9,3.4")
            x, y, z = map(float, vertex_str.strip().split(","))
            vertex_tuples.append(f"({x}, {y}, {z})")
        
        # 把当前组顶点拼接成指定格式,追加到总内容里
        vertices_str = ", ".join(vertex_tuples)
        output_content += f"{index} [{vertices_str}] "

# 去掉末尾多余的空格
output_content = output_content.strip()

# 打印结果或者写入文件
print(output_content)
# 如果要保存到文件,取消下面的注释
# with open("formatted_vertices.txt", mode="w", encoding="utf-8") as output_file:
#     output_file.write(output_content)

关键细节说明

  • CSV读取逻辑:用csv.reader解析文件,next(csv_reader)专门跳过表头行,避免把Vertices当成数据处理
  • 顶点格式转换:如果你的CSV里顶点不是用逗号分隔(比如用空格),只需要把split(",")改成split()就行,灵活适配不同存储格式
  • 编号与拼接:enumerate会自动帮我们生成从0开始的连续编号,每组顶点组合成编号 [(元组1), (元组2), ...]的形式后,拼接到总输出字符串里
  • 结果保存:可以直接打印查看效果,也可以写入到文本文件里,方便后续使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:01:30