如何将Python读取CSV得到的垂直输出转换为水平逗号分隔格式
CSV垂直输出转水平输出解决方案
问题根因
你当前代码每次读取一行CSV内容后就单独执行print(),Python的print()函数默认会在输出末尾追加换行符,所以所有内容会逐行垂直展示。你尝试用replace不生效的原因是:换行符是print()函数自动追加的,并不是你拼接得到的rain字符串本身的内容,所以对rain做替换操作没有效果。
解决方案
方法1:先收集所有数据再统一输出(最推荐,无多余分隔符问题)
先把所有读取到的数值存入列表,最后一次性拼接输出:
import csv rain_data = [] with open('p1.csv', newline='') as f: reader = csv.reader(f) for row in reader: # 拼接每行内容后存入列表 rain_data.append("".join(row)) # 统一用逗号+空格拼接后打印 print(", ".join(rain_data))
方法2:修改print默认结束符(适合快速调试)
如果是临时输出、不介意末尾多一个逗号,可以直接修改print()的end参数替换默认的换行符:
import csv with open('p1.csv', newline='') as f: reader = csv.reader(f) for row in reader: rain = ", ".join(row) print(rain, end=', ')
内容的提问来源于stack exchange,提问作者EHA
相关产品推荐
相关产品推荐

