python的输出格式问题

songoex 发布于 2016/02/22 15:43
阅读 395
收藏 0
现在有一个文件,a.txt:
1
2
3
4
5
6
7
8
.
.
.




用python怎么样把它变成csv格式的文件,就是用逗号或者空格分开,每行50列


加载中
0
幻视Vision
幻视Vision
"""
一列数字转成N列2.py
http://www.oschina.net/question/2400361_2152116
2016年3月1日 23:49:33 codegay
这个问题本质等于问如何把一个列表或者一个字符串分成N份
参考http://blog.topspeedsnail.com/archives/1469
"""
#生成测试数据,得到a.txt为1列1-999的内容
with open("a.txt","w+") as f:
    [f.write(str(r).zfill(4)+"\n") for r in range(1,999)]

#一列数字转成N列.py
N=50
txt=[r.rstrip("\n") for r in open("a.txt").readlines()]
re=[txt[r:r+N] for r in range(0,len(txt),N)]
f=open("out.txt","w+")
[f.write(','.join(r)+"\n") for r in re]    
f.close()



0
幻视Vision
幻视Vision

灵活变通啊少年。

这是我不久前练习写的代码,一列转三列。http://www.oschina.net/code/snippet_96078_52090

0
幻视Vision
幻视Vision

新写了一个。不是很满意。

"""
一列数字转成N列.py
2016年2月24日 05:45:58 codegay

"""
#生成测试数据,得到a.txt为1列1-999的内容
with open("a.txt","w+") as f:
    [f.write(str(r).zfill(4)+"\n") for r in range(1,999)]

#一列数字转成N列.py
N=50
with open("a.txt","r+") as f:
    #脱掉数据后面的换行符,如果能被N整除则保留
    txt=f.readlines()
    sn=[txt[r] if (r>1 and (r+1)%N==0) else txt[r].replace("\n",",") for r in range(0,len(txt)) ]
    print(sn)
    #指针回到文件头部清空文件
    f.seek(0)
    f.truncate()
    f.writelines(sn)



s
songoex
感谢幻视Vision的回复,本人在实习期中,之前对写程序没有概念,多得你的回复和指教。
返回顶部
顶部