如何使用xlwt包将多个Python列表(含制表符文本读取结果)写入Excel文件?
用xlwt把Python列表(含制表符文本数据)写入Excel的实操方案
嘿,我来帮你搞定这个需求!结合你已经把制表符分隔的文本读到列表里的情况,咱们一步步来实现:
1. 先确认xlwt已安装
如果还没装,打开终端跑这个命令:
pip install xlwt
2. 把制表符文本读取为Python二维列表
假设你的文本文件叫gene_data.txt,每行用制表符分隔数据,咱们可以这样把它转成列表:
# 读取文本文件到二维列表 gene_data = [] with open('gene_data.txt', 'r', encoding='utf-8') as file: for line in file: # 去掉换行符,按制表符分割每行内容 row_content = line.strip().split('\t') gene_data.append(row_content)
现在gene_data就是一个二维列表,每个子列表对应Excel里的一行数据。
3. 用xlwt把列表写入Excel
接下来就是核心的写入步骤了,代码很直观:
import xlwt # 创建工作簿,指定编码避免乱码 wb = xlwt.Workbook(encoding='utf-8') # 添加一个工作表,命名为"基因表达数据" ws = wb.add_sheet('基因表达数据') # 遍历数据,逐行逐列写入 for row_num, row in enumerate(gene_data): for col_num, cell_value in enumerate(row): ws.write(row_num, col_num, cell_value) # 保存Excel文件,注意xlwt只能生成.xls格式 wb.save('gene_expression_results.xls')
4. 可选:给Excel加样式(比如表头加粗)
如果想让表格更美观,比如给表头加个加粗样式,可以这么做:
import xlwt # 创建工作簿和工作表 wb = xlwt.Workbook(encoding='utf-8') ws = wb.add_sheet('基因表达数据') # 定义加粗样式 bold_style = xlwt.XFStyle() bold_font = xlwt.Font() bold_font.bold = True bold_style.font = bold_font # 假设你的数据需要表头,先写入表头 headers = ['基因ID', '样本1值', '样本2值', '比值', 'Log2比值', '调控方向'] for col_num, header in enumerate(headers): ws.write(0, col_num, header, bold_style) # 从第2行开始写入数据(索引从1开始) for row_num, row in enumerate(gene_data, start=1): for col_num, cell_value in enumerate(row): ws.write(row_num, col_num, cell_value) wb.save('styled_gene_results.xls')
一些小提醒
- xlwt只支持生成
.xls格式的Excel,如果需要.xlsx,可以考虑用openpyxl或者xlsxwriter这两个库。 - 确保你的文本每行的列数一致,不然写入Excel时会出现列不对齐的问题。
- 如果数据里有特殊字符,一定要在打开文件时指定正确的编码(比如
utf-8),避免乱码。
内容的提问来源于stack exchange,提问作者lakhujanivijay
相关产品推荐
相关产品推荐

