perl、python产出excel

2021-10-25  本文已影响0人  蚂蚁爱吃饭

想把每批次的结果出一个最终的Excel文档

use Excel::Writer::XLSX;
use Encode; #为了支持中文字符
sub H{ #把每个需要填充的内容都转码,推荐 utf-8
    my $text = shift;
   return  decode('utf-8',$text);
}
my $out="$dir/肿瘤分析结果_20$date\.xlsx";
my $workbook = Excel::Writer::XLSX->new ( $out);#新建一个工作簿
my $basic_stat_sheet = $workbook->add_worksheet("basic_stat");#新建一个工作表
my @header=('sampleID','sampleIndex','sampleName','raw','clean','ratio','Q20','Q30','PCT_PF_UQ_READS_ALIGNED','MEAN_BAIT_COVERAGE','PCT_SELECTED_BASES','PCT_>STD','PCT_0.5X-2X_MEAN','gender','projectType','panel','disease');
$basic_stat_sheet->write('A1',\@header); #在第一行里写入header,这里一定要加\
$basic_stat_sheet->write($row,$i,H($samples{$s}{"$header[$i]"}));#在第$row行第$i列写入$samples{$s}{"$header[$i]"},这里是已经转码的
$mutations->write("A$row",\@new);#在第$row行,写入一个数组
$workbook->close(); #最后close工作簿

如果用python的话,就用pandas模块:

import pandas as pd
from pandas import DataFrame
writer = pd.ExcelWriter(f"肿瘤分析结果_20{date}.xlsx")
df1 = DataFrame()
df1.to_excel(writer, sheet_name='basic_stat',index=False,header=True)
writer.save()
#如果要读取一个Excel文件:
df = pd.read_excel(samplexls, sheet_name=0, header=None)# sheet0内容就读到了df数据框
for a in range(0,len(df)):
  lines = df.loc[a].values.tolist() #每行的内容就在lines里
  #其他处理

以上只贴了相关的几句代码。

上一篇 下一篇

猜你喜欢

热点阅读