如何将Python循环输出写入CSV文件?求解决方案
解决循环输出写入CSV的问题
原代码通过print输出了一个表格结构,要把这些内容准确高效写入CSV,最可靠的方式是用Python内置的csv模块,避免手动处理分隔符导致的格式错误。以下是修改后的实现:
代码实现
import csv # 打开输出文件,以写入模式操作,指定编码避免乱码 with open('output.csv', 'w', newline='', encoding='utf-8') as csvfile: writer = csv.writer(csvfile) # 写入表头:对应原代码第一行的输出,第一个单元格为空,后续是cols的元素 header = [''] + cols writer.writerow(header) cost = 0 # 遍历排序后的costs键,生成每一行数据 for g in sorted(costs): row_data = [g] for n in cols: y = res[g][n] # 保持和原print输出一致,0值对应位置留空 row_data.append(y if y != 0 else '') cost += y * costs[g][n] # 写入当前行到CSV writer.writerow(row_data)
关键说明
csv.writer会自动处理CSV的分隔规则,避免手动拼接字符串时出现的格式问题(比如内容含逗号、空格的情况)- 表头构造
[''] + cols对应原代码第一行开头的制表符,保证列结构对齐 - 原代码中y=0时仅输出制表符(对应位置为空),用
y if y !=0 else ''保持数据表现一致 - 使用
with open上下文管理器,自动处理文件的打开和关闭,避免资源泄漏
内容的提问来源于stack exchange,提问作者Pratzy30
相关产品推荐
相关产品推荐

