从一个文件,我已经采取了一条线,使用分为5列split().但我必须在输出文件中将这些列写为制表符分隔值.
可以说我有l[1], l[2], l[3], l[4], l[5]...总共5个条目.我如何使用python实现这一目标?而且,我无法将l[1], l[2], l[3], l[4], l[5]值写入输出文件.
我尝试了这两个代码,两个都不工作(我使用的是python 2.6):
代码1:
with open('output', 'w'):
print l[1], l[2], l[3], l[4], l[5] > output
Run Code Online (Sandbox Code Playgroud)
代码2:
with open('output', 'w') as outf:
outf.write(l[1], l[2], l[3], l[4], l[5])
Run Code Online (Sandbox Code Playgroud)
Mak*_*oto 12
您可以在with表示您要写入的文件的语句中使用参数.从那里,使用.write().这假设所有内容l都是字符串,否则你必须用它们包装所有内容str().
with open('output', 'w') as f:
f.write(l[1] + "\t" + l[2] + "\t" + l[3] + "\t" + l[4] + "\t" + l[5] + "\n")
Run Code Online (Sandbox Code Playgroud)
或者,更有效率,您可以使用.join():
with open('output', 'w') as f:
f.write('\t'.join(l[1:]) + '\n')
Run Code Online (Sandbox Code Playgroud)
该write()方法将字符串作为其第一个参数(不是可变数量的字符串).试试这个:
outf.write(l[1] + l[2] + l[3] + l[4] + l[5])
Run Code Online (Sandbox Code Playgroud)
或者更好的是:
outf.write('\t'.join(l) + '\n')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22096 次 |
| 最近记录: |