python - 如何使用 xrange 的结果打印列表 (CSV) 中的行?

标签 python csv

我试图弄清楚如何使用输入的 xrange 打印列表中的行。我试图不缩写我的代码,因为我仍在学习并希望清楚地遵循逻辑。所以我想要的是打印用户提供的参数中的一系列行。我知道我有一些顺序错误,但我不知道如何输入它......这是我到目前为止所得到的:

import csv
import sys

sourcef = sys.argv[1]  # Source file path/name
destf = sys.argv[2]  # Destination file path/name
linestart = int(sys.argv[3])  # Starting row to delete
lineend = int(sys.argv[4])  # Ending row to delete

with open (sourcef, 'rb') as file1, open (destf, 'wb') as file2:
    reader = csv.reader(file1)
    writer = csv.writer(file2)
    row = list(reader)
    for i in xrange(linestart, lineend):
        print i

最佳答案

你想要的是一个slice对象而不是xrange:

...
rows = list(reader)
for x in rows[slice(linestart, lineend)]:
     print x

这是更详细的形式:

...
rows = list(reader)
for x in rows[linestart: lineend]:
     print x

您可能不需要将 reader 迭代器具体化为列表,特别是在您只需要一小部分行的情况下。在这种情况下,您可以使用 itertools.islice

from itertools import islice

...
for x in islice(reader, linestart, lineend)
     print x

关于python - 如何使用 xrange 的结果打印列表 (CSV) 中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47520668/

相关文章:

python - S3 的 AWS CLI - Errno 2 没有这样的文件或目录 : u'

php - 如何将 csv 中的数字列表上传到空表的一列中

java - 使用java将字节数组写入csv文件

mysql - 如何从 00/00/0000 00 :00:00 format to 0000-00-00 00:00:00 format on CSV 自动转换日期时间

python - 我试图组契约(Contract)一对象的两个列表,在 python 中使用不同的字段但相同类型的数据进行排序

Python:动态类生成:覆盖成员

python - 如何使用CSV文件的记录id进行编程?

powershell - 使用批处理脚本删除csv文件的第一行和最后一行

python - 无法在 Ubuntu 的 Python 中导入 FANN

python - 我应该如何发送Post请求来创建具有外键关系的对象