python - exe 文件的输出为 csv 格式。我想要一个标题和所有数据一起
问题描述
我想要一行中的标题和下一行中的所有数据。最后,我需要添加最后一列“E”并获得总值。(self.bin
是一个exe文件)。
def run(self ) :
query = self.args.query
target = self.args.target
complete = str(self.bin + ' -q ' + query + ' -t ' + target +' --outMode=C -n 1')
ps = s.Popen(str(complete), stdin = s.PIPE, stdout = s.PIPE, universal_newlines=True)
(stdout, stderr) = ps.communicate()
print("B1: \n")
self.b1 = stdout
print(self.b1)
print("B2: \n")
print(self.b2)
self.block_b1(self.b1, self.b2, self.b3)
def block_b1(self, b1, b2, b3):
query = self.args.query
target = self.args.target
result_array=self.b1.split(';')
res=[]
for item in result_array:
if item.isdigit():
res.append(item)
x = ' --tAccConstr="b:'+res[0]+'-'+res[1]+'" --qAccConstr="b:'+res[2]+'-'+res[3]+'" '
complete = str(self.bin + ' -q ' + query + x + ' -t ' + target + ' --outMode=C -n 1')
ps = s.Popen(str(complete), stdin = s.PIPE, stdout = s.PIPE, universal_newlines=True)
(stdout, stderr) = ps.communicate()
print("B3: \n")
self.b3 = stdout
print(self.b3)
上面的代码给了我这样的输出:
B1:
id1;start1;end1;id2;start2;end2;subseqDP;hybridDP;E
target;39;45;query;98;104;UCCUGGA&UCCAGGA;(((((((&)))))));-4.37
B2:
None
B3:
id1;start1;end1;id2;start2;end2;subseqDP;hybridDP;E
target;87;93;query;24;30;CAAGGGU&ACCCUUG;(((((((&)))))));-3.62
我希望输出如下所示:
B1, B2 and B3 values are:
id1;start1;end1;id2;start2;end2;subseqDP;hybridDP;E
target;39;45;query;98;104;UCCUGGA&UCCAGGA;(((((((&)))))));-4.37
None
target;87;93;query;24;30;CAAGGGU&ACCCUUG;(((((((&)))))));-3.62
Total E VALUE : - 7.99
解决方案
def block_b1(self, b1, b2, b3):
query = self.args.query
target = self.args.target
result_array=self.b1.split(';')
res=[]
for item in result_array:
if item.isdigit():
res.append(item)
x = ' --tAccConstr="b:'+res[0]+'-'+res[1]+'" --qAccConstr="b:'+res[2]+'-'+res[3]+'" '
complete = str(self.bin + ' -q ' + query + x + ' -t ' + target + ' --outMode=C -n 1')
ps = s.Popen(str(complete), stdin = s.PIPE, stdout = s.PIPE, universal_newlines=True)
(stdout, stderr) = ps.communicate()
print("B1, B2 and B3 values are \n")
self.b3 = stdout
print(self.b1)
print(self.b2)
print(self.b3)
print("Total value for E",sum)
推荐阅读
- html - 如何改变一个
- 将鼠标悬停在其中的标签上时的项目符号图标?
- c# - SetForegroundWindow 如果子进程有焦点
- ubuntu - DPDK rte_eth_rx_burst 和 rte_eth_tx_burst 在 ubuntu 14.04(amd 机器)中不起作用
- sql - 如何修剪中文和日文字符
- android - 如果用户甚至没有打开过一次应用程序,如何以编程方式打开应用程序?
- javascript - 将动态值传递给 circleprogress
- php - 在 Woocommerce 中显示基于自定义文本的产品类别订单项目名称谢谢
- spring - 从rest api正确实施对象列表
- jquery - 从 ASP.net MVC 中的 ajax 调用重定向到错误页面
- python-3.6 - GoogleScraper 文件保存在?