如何使用python将文件通过管道传输到流中

如何使用python将文件通过管道传输到流中,python,excel,csv,apache-nifi,Python,Excel,Csv,Apache Nifi,我试图将xls文件输出重定向到流,但遇到错误 下面是我正在使用的代码 #!/usr/bin/env python import codecs import datetime import decimal import csv import sys import xlrd def main(self): # We need to do this dance here, because we aren't writing through agate. if six.PY

我试图将xls文件输出重定向到流,但遇到错误

下面是我正在使用的代码

#!/usr/bin/env python

import codecs

import datetime

import decimal

import csv

import sys

import xlrd

def main(self):
    # We need to do this dance here, because we aren't writing through agate.
    if six.PY2:
        stream = codecs.getwriter('utf-8')(self.output_file)
    else:
        stream = self.output_file

def dump_xls(data,active_worksheet):
                active_worksheet.append(data)
     file_name = "temp.xls"


     reader = csv.reader(self.input_file,delimiter=",")

     workbook  = openpyxl.Workbook()
     worksheet = workbook.active
     for i in reader:
         dump_xls(i,worksheet)
     workbook.save(file_name)

def launch_new_instance():
    utility = CSVXLS()
    utility.run()


if __name__ == '__main__':
    launch_new_instance

()
我已经有了一个输入流和所有流信息。如何将输出文件转换为流,以便数据在输出时可见

我是python新手,非常感谢您的帮助


非常感谢

我不知道我明白你在找什么
stream
,但是
StringIO
也是一个流,你可以这样写

import StringIO
...
...
s_io = StringIO.StringIO() # Declare stream
for i in reader:
    dump_xls(i,worksheet)
    s_io.write(i) # Write to stream.

最后,
s_io
将代表

我不知道我理解你在找什么
,但是
StringIO
也是一个流,你可以这样写

import StringIO
...
...
s_io = StringIO.StringIO() # Declare stream
for i in reader:
    dump_xls(i,worksheet)
    s_io.write(i) # Write to stream.

最后,
s_io
将代表

我看不到
输入流
,您能给出完整的代码吗?您面临的错误是什么?@Nilesh我已经编辑了问题,请查找问题中的完整代码我没有收到任何错误这是以文件的形式工作的,但我的要求是以流的形式输出,我无法看到
输入流
,您能给出完整的代码吗?您面临的错误是什么?@Nilesh我已经编辑了问题,请查找问题中的完整代码我没有收到任何错误这是以文件形式输出的,但我的要求是以流形式输出,这是我遇到的问题