使用xlsxwriter拆分含逗号文本并写入Excel多列的问题
解决逗号分隔行写入Excel多列的问题
你直接把整行字符串传给worksheet.write()方法,它只会把整个内容塞进单个单元格里。要实现拆分到不同列,核心是先把每行数据按逗号拆分,再分别写入对应的列。
举个具体的代码示例(以xlwt库为例):
import xlwt # 创建工作簿和工作表 workbook = xlwt.Workbook() worksheet = workbook.add_sheet('Sheet1') # 示例数据 data_lines = ["a,b", "c,d", "e,f"] # 遍历每行数据,拆分后写入不同列 for row_idx, line in enumerate(data_lines): # 按逗号拆分字符串,得到两个值 col_values = line.split(',') # 写入第一列(索引0) worksheet.write(row_idx, 0, col_values[0]) # 写入第二列(索引1) worksheet.write(row_idx, 1, col_values[1]) # 保存Excel文件 workbook.save('output.xls')
如果用的是openpyxl库,逻辑完全一致,只是写法略有不同:
from openpyxl import Workbook workbook = Workbook() worksheet = workbook.active data_lines = ["a,b", "c,d", "e,f"] # openpyxl的行、列索引从1开始 for row_idx, line in enumerate(data_lines, start=1): col_values = line.split(',') worksheet.cell(row=row_idx, column=1, value=col_values[0]) worksheet.cell(row=row_idx, column=2, value=col_values[1]) workbook.save('output.xlsx')
核心就是先拆分字符串,再逐个单元格写入,而不是把整行内容一次性丢进单个单元格。
内容的提问来源于stack exchange,提问作者pratheeksha lp
相关产品推荐
相关产品推荐

