2

我有一个控制台输出,它有多行空格分隔的字符串。例如

大家好

大家好

欢迎来到蟒蛇

我想将它们写入单独的 excel 文件行中,并将每个字符串写入单独的列中,用于 ex-

     A1      A2         A3
B1   Hi      everyone
B2   Hello   to         all
B3   Welcome to         python

我们在 python 的 xlwt 包中有任何(文本到列)实用程序吗?

更新 我有一个 exe,它有这些打印语句,一次输出。我只是执行那个 exe 并在控制台上打印。我想从控制台读取并写入 excel 表,就像我上面解释的那样。这里是代码:

#!/usr/bin/env python
import subprocess
import xlwt
process=subprocess.Popen('Test_Project.exe',stdout=subprocess.PIPE)
wb=xlwt.Workbook()
sheet=wb.add_sheet('python')
for rows in range(10):    #let say 10 rows and columns we have
    for cols in range(10):
        out = process.stdout.readline()
        sheet.write(rows,cols,out)
        print out
wb.save('stdoutput.xls')
4

2 回答 2

3

只需将其写为 .csv。

假设你有row哪个是空格分隔的字符串:

outfile.write(','.join(row.split())
于 2013-04-23T12:41:15.763 回答
1

假设您希望在开始处理输出之前完成该过程

#!/usr/bin/env python
import subprocess
import xlwt
process=subprocess.Popen('Test_Project.exe',stdout=subprocess.PIPE)
out,err = process.communicate()
wb=xlwt.Workbook()
sheet=wb.add_sheet('python')
row = 0
for line in out.split('\n'): 
    for i,wrd in enumerate(line.split()):    
        sheet.write(row,i,wrd)
    row=row+1 
wb.save('stdoutput.xls')
于 2013-04-24T05:14:15.320 回答