Python:从CSV生成文本,每5行具有不同的功能

时间:2015-08-11 19:10:34

标签: python python-2.7 csv modulus

我需要将.csv输出转换为一串按键,以便其他程序执行自动计费。在大多数情况下,如果我只需要一次自动化4个就可以工作。这是regOutput()函数的输出。 实际上作为POS的软件有一个关于通过编辑第5个条目中途前进到下一页的怪癖。因此pageChange()函数需要为每第5行打印一次。所以在打印功能" P1"需要提前到第十行的P2,第15行的P3和" 5 CL"需要进入" 10 CL" " 15 CL"等等。

所以我需要让这个函数每隔五行运行一次csv,并添加。 regOutput()可以为不能被5整除的每一行运行。

到目前为止我有这个:

dispose

感谢所有帮助。谢谢。 科里

2 个答案:

答案 0 :(得分:0)

实现此目的的方法不止一种,但一种方法是使用enumerate函数:

>>> for x in enumerate(["a", "b", "c"]):
...   print x
... 
(0, 'a')
(1, 'b')
(2, 'c')

然后(index + 1) % 50每隔5个元素。

答案 1 :(得分:0)

你可以使用一个函数运行它,如下所示:

def regOutput():
    for index, row in enumerate(export):
        print row['SKU']
        print row['Qty']
        print ' '
        print ' '
        print 'A'
        print 'P'
        print row['productPriceSingle']

        if index % 5 == 4:
            print ' '
            print "P%u" % ((index+1) // 5) 
            print 'M'
            print '%u CL' % (index+1)
        else:
            print 'CL'

        print row['Order Store ID']

        if index % 5 == 4:
            print ' '
            print 'A'

这样for循环将保持平稳运行。 enumerate函数可用于在迭代项目的同时返回计数器,可用于确定何时对您的分页进行操作。