excel试题转word格式

|----|----|----|----|
| 序号 | 试题 | 选项 | 答案 |

格式如上。输出后在做些适当调整就可以。

python 复制代码
import pandas as pd
from docx import Document
from docx.shared import Inches

# 读取Excel文件
df = pd.read_excel(r"你的excel.xlsx")

# 创建一个新的Word文档
doc = Document()

# 添加标题
doc.add_heading('试卷', 0)

# 遍历Excel表格的每一行
for index, row in df.iterrows():
    # 添加序号
    doc.add_paragraph(f"序号: {row['序号']}")

    # 添加试题
    doc.add_paragraph(f"试题: {row['试题']}")

    # 添加选项(如果有的话)
    if '选项' in row and row['选项'] != '':
        doc.add_paragraph(f"选项: {row['选项']}")

        # 添加答案
    doc.add_paragraph(f"答案: {row['答案']}")

    # 添加分页符(如果需要)
    # doc.add_page_break()

    # 或者添加空行以区分不同的题目
    doc.add_paragraph()

# 保存Word文档
doc.save('试卷.docx')

在第一代基础上发现选项是竖向排列太浪费纸张,又修改成下面代码,通过表格方式对齐排列。

python 复制代码
import pandas as pd
from docx import Document
from docx.shared import Inches

# 读取Excel文件
df = pd.read_excel(r"你的.xlsx")

# 创建一个新的Word文档
doc = Document()

# 添加标题
doc.add_heading('试卷', 0)

# 遍历Excel表格的每一行
for index, row in df.iterrows():
    # 添加序号
    doc.add_paragraph(f"{row['序号']}、{row['试题']}")

    # 添加试题
    #doc.add_paragraph(f"")

    # 添加选项
    # 检查'选项'列是否为字符串,并且不是空字符串
    if isinstance(row['选项'], str) and row['选项'].strip() != '':
        # 将选项字符串按换行符分割成选项列表
        options = row['选项'].strip().split('\n')

        # 创建一个表格来显示选项
        table = doc.add_table(rows=1, cols=len(options))

        # 遍历选项列表,并添加到表格中
        for i, option in enumerate(options):
            cell = table.cell(0, i)
            cell.text = option  # 不需要额外的空格,可以在Word中调整单元格边距或宽度
            cell.paragraphs[0].alignment = 2  # 设置对齐方式为居中
    else:
        # 如果'选项'不是字符串或者为空字符串,可以添加一条消息说明没有选项
        doc.add_paragraph("该试题没有选项。")

        # 添加答案
    doc.add_paragraph(f"答案: {row['答案']}")

    # 添加分页符(如果需要)
    # doc.add_page_break()

    # 或者添加空行以区分不同的题目
    #doc.add_paragraph()

# 保存Word文档
doc.save('试卷.docx')
相关推荐
鸽芷咕17 分钟前
【Python报错已解决】ModuleNotFoundError: No module named ‘paddle‘
开发语言·python·机器学习·bug·paddle
Jhxbdks27 分钟前
C语言中的一些小知识(二)
c语言·开发语言·笔记
java66666888827 分钟前
如何在Java中实现高效的对象映射:Dozer与MapStruct的比较与优化
java·开发语言
Violet永存28 分钟前
源码分析:LinkedList
java·开发语言
代码雕刻家29 分钟前
数据结构-3.1.栈的基本概念
c语言·开发语言·数据结构
Fan_web31 分钟前
JavaScript高级——闭包应用-自定义js模块
开发语言·前端·javascript·css·html
梦想科研社36 分钟前
【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)
开发语言·算法·数学建模·matlab·无人机
风等雨归期36 分钟前
【python】【绘制小程序】动态爱心绘制
开发语言·python·小程序
千穹凌帝39 分钟前
SpinalHDL之结构(二)
开发语言·前端·fpga开发
AlexMercer101242 分钟前
【C++】二、数据类型 (同C)
c语言·开发语言·数据结构·c++·笔记·算法