当前位置: 首页 > news >正文

一个Python脚本,将CST Studio导出的1D数据的txt文件转换为与Ansys HFSS的CSV相同的格式

前言

本文含有AI生成的代码。

这个CST居然不能导出CSV,有点匪夷所思了,只好用Copilot辅助编写一个脚本转换格式,方便导入到之前写的画图程序中。

使用方法

  • 保存本文代码到一个.py文件,如txt2csv_dragdrop.py
  • 将.py文件设置为默认使用Python打开。
  • 将.txt 文件拖拽到它上面,程序将生成同名.csv文件。
# txt2csv_dragdrop.py
# 说明:Windows 下可将 .txt 拖拽到该 .py 文件上运行,自动输出同名 .csv
import csv
import os
import sysheader_dict = {"Frequency / GHz": "Freq [GHz]","Realized Gain": "dB(RealizedGainTotal) []","S1,1 [Magnitude / dB]": "dB(S(1,1)) []",
}def parse_txt_to_rows(path: str):header = Nonerows = []with open(path, "r", encoding="utf-8", errors="ignore") as f:for line in f:s = line.strip()if not s:continue# 注释/表头行:以 # 开头if s.startswith("#"):# 形如:#"Frequency / GHz"  "Realized Gain,..."if '"' in s:parts = []cur = ""in_q = Falsefor ch in s:if ch == '"':in_q = not in_qif not in_q and cur != "":for k, v in header_dict.items():if cur.startswith(k):cur = vbreakparts.append(cur)cur = ""elif in_q:cur += chif len(parts) >= 2:header = parts[:2]continue# 数据行:两列,空白或 tab 分隔parts = s.split()if len(parts) < 2:continuetry:x = float(parts[0])y = float(parts[1])except ValueError:continuerows.append((x, y))if header is None:header = ["col1", "col2"]return header, rowsdef convert_one(path: str):header, rows = parse_txt_to_rows(path)out_path = os.path.splitext(path)[0] + ".csv"with open(out_path, "w", newline="", encoding="utf-8-sig") as f:w = csv.writer(f, quoting=csv.QUOTE_ALL)w.writerow(header)w.writerows(rows)print(f"已生成: {out_path}  (行数: {len(rows)})")def main():if len(sys.argv) < 2:print("用法:将 .txt 文件拖拽到本脚本上,或命令行:python txt2csv_dragdrop.py <file1> [file2...]")sys.exit(1)for p in sys.argv[1:]:# 判断是否是txt文件if os.path.isfile(p) and p.lower().endswith(".txt"):convert_one(p)else:print(f"跳过(不是文件): {p}")input("处理完成,按回车键退出...")if __name__ == "__main__":main()
http://www.jsqmd.com/news/112086/

相关文章:

  • 实力不错的元器件失效分析企业推荐 - 工业推荐榜
  • 2025年北京婚姻继承律师团队综合评估与精选推荐 - 2025年品牌推荐榜
  • 高效降低论文AIGC率:2025年十大实用平台深度测评 - 老米_专讲AIGC率
  • 初效过滤棉靠谱生产商:品质与性价比之选 - 工业品牌热点
  • 2025年北京婚姻继承律师团队服务指南与专业推荐 - 2025年品牌推荐榜
  • 企业数据API对接技术选型、架构设计与实战指南
  • 2025年石景山区婚姻继承律师团队选择技巧:专业指南与实战解析 - 2025年品牌推荐榜
  • Kafka Schema Registry - Installation
  • AI生成职称论文靠谱吗?9款AI写论文软件教程,论文查重率问题解决! - 掌桥科研-AI论文写作
  • 无线讲解器怎么选?这些要点和靠谱品牌别错过 - myqiye
  • 2025年12月长治潞城学车指南:优质驾校信息汇总与选择要点分析 - 2025年品牌推荐榜
  • 2025天津老酒回收公司TOP5权威推荐:老酒回收靠不靠谱? - mypinpai
  • 信誉良好的治疗柜厂家,为医疗空间安全保驾护航 - mypinpai
  • 2025天津老酒回收公司TOP5权威推荐:老酒回收靠不靠谱? - mypinpai
  • 2025年旋转接头厂家权威推荐榜单:高速旋转接头/液压旋转接头/导热油旋转接头源头厂家精选 - 品牌推荐官
  • 2025年北京商事刑事知名律师服务推荐榜单深度解析 - 2025年品牌推荐榜
  • 迪米特法则
  • 靠谱的芯片失效分析公司推荐:解锁芯片失效分析的秘密 - 工业品牌热点
  • 2025年岩板磨边加工技术实力TOP5企业推荐,岩板加工研发能力强吗? - 工业推荐榜
  • 直播预告|IvorySQL v5 兼容功能使用指南
  • 2025南瓜籽仁生产商TOP5权威推荐:原味生南瓜籽仁厂家甄选指南 - 工业推荐榜
  • 生成小说
  • 【赵渝强老师】K8s Pod中的初始化容器
  • 【赵渝强老师】K8s Pod中的业务容器
  • 【赵渝强老师】K8s Pod中的临时容器
  • 2025年浙江专业的ai搜索企业TOP5推荐:精选ai搜索公司助力企业营销获客腾飞 - mypinpai
  • 外贸-order
  • 电流探头 100mV/A应该如何解读呢?
  • 2025年思维导图背诵方法、抽认卡管理软件方法核心学习方式TOP5推荐 - 工业推荐榜
  • 2025年高校人工智能实训室建设服务商TOP5排行榜,中教智讯设备品质好 - 工业推荐榜