<p><strong>编辑</strong>:抱歉,问题的名称有点误导。对于您给出的示例输出(将所有<code>p</code>折叠为一列),您可以执行以下操作:</p>
<pre><code># Opening the example file you gave
fid = open('csv.txt','r')
lines = fid.readlines()
fid.close()
fid = open('output2.txt','w')
fid.write('%15s %15s\n'%(lines[0].split()[0],'p'))
for i in range(1,len(lines)):
iline = lines[i].split()
for j in range(1,len(iline)):
fid.write('%15s %15s\n'%(iline[0],iline[j]))
fid.close()
</code></pre>
<p>,其结果是:</p>
<pre><code> date p
01-01-1941 33.6
01-01-1941 7.1
01-01-1941 22.3
01-01-1941 0
01-01-1941 0
01-01-1941 0
01-02-1941 0
01-02-1941 0
01-02-1941 1.1
01-02-1941 11.3
01-02-1941 0
01-02-1941 0
</code></pre>
<p><strong>原文</strong>:可能与某人有关。你知道吗</p>
<p>确实有很多方法可以做到这一点。但是考虑到您没有特别的偏好(如果文件不是很大的话),您可能只想使用本机Python。你知道吗</p>
<pre><code>def rows2columns(lines):
ilines = []
for i in lines:
ilines.append(i.split())
new = []
for j in range(len(ilines[0])):
local = []
for i in range(len(ilines)):
local.append(ilines[i][j])
new.append(local)
return new
def writefile(new,path='output.txt'):
fid = open(path,'w')
for i in range(len(new)):
for j in range(len(new[0])):
fid.write('%15s'%new[i][j])
fid.write('\n')
fid.close()
# Opening the example file you gave
fid = open('csv.txt','r')
lines = fid.readlines()
fid.close()
# Putting the list of lines to be reversed
new = rows2columns(lines)
# Writing the result to a file
writefile(new,path='output.txt')
</code></pre>
<p>,输出文件如下:</p>
<pre><code> date 01-01-1941 01-02-1941
p01 33.6 0
p02 7.1 0
p03 22.3 1.1
p04 0 11.3
p05 0 0
p06 0 0
</code></pre>
<p>这可能是您可能拥有的最简单(或最接近)的本地python方法。csv模块、numpy或pandas的其他功能将具有您可能想要利用的其他功能。特别是这个不需要进口。你知道吗</p>