列表元素两两相乘生成运算表格并导出为CSV的实现方法
两两乘积矩阵生成及导出实现方案
实现逻辑
- 先基于输入的列表计算两两元素相乘的二维矩阵,矩阵中第i行第j列的值等于列表第i个元素乘第j个元素
- 按照需求指定的样式和类名生成对应HTML表格,严格匹配对齐规则
- 将乘积矩阵连带表头写入CSV文件,兼容主流办公软件读取
完整可运行代码
import csv # 输入列表 l = [1, 2, 3, 4, 5] n = len(l) # 计算两两乘积矩阵 product_matrix = [] for i in range(n): row = [] for j in range(n): row.append(l[i] * l[j]) product_matrix.append(row) # 生成符合要求的HTML表格 html_content = '''<div class="s-table-container"> <table class="s-table"> <thead> <tr> <th style="text-align: left;">N</th> <th>l1</th> <th style="text-align: center;">l2</th> <th style="text-align: center;">l3</th> <th style="text-align: center;">l4</th> <th style="text-align: right;">l5</th> </tr> </thead> <tbody> ''' for idx in range(n): html_content += f'<tr>\n<td style="text-align: left;">l{idx+1}</td>\n' html_content += f'<td>{product_matrix[idx][0]}</td>\n' for j in range(1, n-1): html_content += f'<td style="text-align: center;">{product_matrix[idx][j]}</td>\n' html_content += f'<td style="text-align: right;">{product_matrix[idx][-1]}</td>\n</tr>\n' html_content += '''</tbody> </table> </div>''' # 打印输出HTML内容 print("生成的HTML表格如下:") print(html_content) # 导出为CSV文件 csv_filename = "multiplication_table.csv" with open(csv_filename, 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f) # 写入表头 header = ['N'] + [f'l{i+1}' for i in range(n)] writer.writerow(header) # 写入乘积数据 for idx in range(n): row = [f'l{idx+1}'] + product_matrix[idx] writer.writerow(row) print(f"CSV文件已成功导出,保存路径:{csv_filename}")
输出说明
- HTML输出:完全匹配需求给出的结构,包含指定类名和对齐样式,可直接嵌入网页使用
- CSV导出:生成的
multiplication_table.csv文件包含完整表头和所有乘积数据,可直接用Excel、WPS等工具打开编辑
内容的提问来源于stack exchange,提问作者neo
相关产品推荐
相关产品推荐

