如何使用csv writer与Pandas正确格式化TXT文档?新手求助
解决方案:将CSV顶点数据转换为指定格式输出
嘿,刚入门文件编写和格式化完全不用焦虑,我一步步带你实现想要的输出格式!
核心思路
你已经有了生成CSV的代码,现在只需要完成这几步:
- 读取CSV文件里的顶点数据(跳过表头
Vertices) - 给每一组64个顶点分配从0开始的编号
- 把每个顶点的x/y/z值转换成
(x, y, z)的元组格式 - 按照
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_
相关产品推荐
相关产品推荐

