Python 2.7中如何将截取后的测序reads写入XLSX文件
把处理后的测序Reads写入XLSX文件的方法
Hey there! 你已经搞定了从FASTQ文件截取reads前12个碱基的核心逻辑,现在要转成XLSX格式的话,推荐用Python的openpyxl或者pandas库,这俩都是处理Excel文件的常用工具,给你两种实用的实现方式:
方法1:用openpyxl直接操作Excel单元格
openpyxl是专门读写xlsx文件的轻量库,适合数据量不大的场景,逻辑直观清晰:
- 先安装依赖库:
pip install openpyxl
- 修改原有代码,替换写入逻辑为Excel操作:
from openpyxl import Workbook # 创建工作簿和默认工作表 wb = Workbook() ws = wb.active ws.title = "Truncated Reads" # 可选:写入表头,让表格更清晰 ws.append(["Truncated Read"]) # 读取FASTQ文件并处理序列 with open('../001.fastq') as reader: for index, line in enumerate(reader): if index % 4 == 1: # 截取前12个碱基,同时去掉换行符避免Excel出现空行 truncated_read = line.strip()[:12] # 将处理后的序列写入工作表的下一行 ws.append([truncated_read]) # 保存最终的XLSX文件 wb.save("./read1.xlsx")
方法2:用pandas快速生成Excel文件
如果你的测序数据量较大,pandas的批量处理效率更高,代码也更简洁:
- 安装依赖库(需要同时装pandas和openpyxl):
pip install pandas openpyxl
- 实现代码:
import pandas as pd # 初始化列表存储处理后的序列 truncated_reads = [] # 读取FASTQ文件并提取目标序列 with open('../001.fastq') as reader: for index, line in enumerate(reader): if index % 4 == 1: truncated_read = line.strip()[:12] truncated_reads.append(truncated_read) # 将列表转为DataFrame,一键写入Excel df = pd.DataFrame(truncated_reads, columns=["Truncated Read"]) df.to_excel("./read1.xlsx", sheet_name="Truncated Reads", index=False)
小提醒:
- 用
strip()去掉序列行末尾的换行符,能避免Excel单元格里出现多余的空行或空格 - 数据量较大时优先选
pandas,内存占用和处理速度都会更友好 - 两种方法生成的xlsx文件都可以直接用Excel、WPS等工具打开查看
内容的提问来源于stack exchange,提问作者elaine_lq
相关产品推荐
相关产品推荐

