我正在连接到一个API以阻止一些数据.输出是一个报告,其中包含一个多行标题以及传统的单行标题.
例:
1. Document Name: Test
2. Document Date: 8/7/2015
3. Document ID: 3804804
4. Document Author: Joe Blow
5.
6. Date, ID, Name, Age, Sex, Result
7. 8/7/2015, 2808380, Sara Jenkings, 33, F, 208.20
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我想跳过第1-5行,并将第6行的行写为标题行,将其后的所有其他行写为普通行.
现在,我知道如何跳过下一行(阅读器,无),但如果我知道要跳过的行数将始终为5行,如何跳过多行?
任何帮助深表感谢.我通常会使用数据库来跳过这些行,但我想看看我是否可以让Python正确保存数据而不需要数据库做更多工作.
Pad*_*ham 12
您可以使用itertools.islice,将要开始写入的行作为第二个参数传递,以便第6行基于您使用0 5,如果stop为None,则迭代继续,直到迭代器耗尽为止
import csv
from itertools import islice
with open("in.csv") as f, open("out.csv","w") as out:
r = csv.reader(islice(f, start=5,stop=None))
wr = csv.writer(out)
wr.writerows(r)
Run Code Online (Sandbox Code Playgroud)
如果要按原样保留行,则不一定需要csv模块:
with open("in.csv") as f, open("out.csv","w") as out:
r = islice(f, 5 ,None)
out.writelines(r)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7034 次 |
| 最近记录: |