import openpyxl import docx # 打开 Excel 文件 workbook = openpyxl.load_workbook(r'D:\好记薪\工商资料生成\表格.xlsx') # 选择第一个工作表 sheet = workbook.active # 从 D1 到 D5 单元格提取数据 data = {} data['D1'] = sheet['D1'].value data['D2'] = sheet['D2'].value data['D3'] = sheet['D3'].value data['D4'] = sheet['D4'].value data['D5'] = sheet['D5'].value print(date)
时间: 2023-10-07 13:06:06 浏览: 101
代码中有一个小错误,`data` 写成了 `date`。以下是修改后的代码:
```python
import openpyxl
import docx
# 打开 Excel 文件
workbook = openpyxl.load_workbook(r'D:\好记薪\工商资料生成\表格.xlsx')
# 选择第一个工作表
sheet = workbook.active
# 从 D1 到 D5 单元格提取数据
data = {}
data['D1'] = sheet['D1'].value
data['D2'] = sheet['D2'].value
data['D3'] = sheet['D3'].value
data['D4'] = sheet['D4'].value
data['D5'] = sheet['D5'].value
print(data)
```
以上代码将 Excel 文件中 D1、D2、D3、D4、D5 单元格数据提取出来,保存在字典 `data` 中,并打印输出。需要注意的是,这里使用了原始字符串(raw string)来表示 Excel 文件路径,因为路径中包含了反斜杠,如果不使用原始字符串,Python 会将反斜杠解释为转义字符。
相关问题
import os from openpyxl import load_workbook import docx # 合并docx文件 def merge_docx(file_list, merged_file_name): # 如果合并后的文件已存在,则直接返回 if os.path.exists(merged_file_name): return # 创建合并后的文档对象 merged_doc = docx.Document() # 合并文件内容 for file_name in file_list: doc = docx.Document(file_name) for para in doc.paragraphs: merged_doc.add_paragraph(para.text) for table in doc.tables: merged_doc.add_table(table.rows, table.columns) # 保存合并后的文档 merged_doc.save(merged_file_name) # 读取Excel文件 workbook = load_workbook(filename=r'D:\好记薪\工商资料生成\表格.xlsx') sheet = workbook['需调用文档'] # 判断C列是否为空 if sheet['C2'].value: # 合并A、B文档 merge_docx([r'D:\好记薪\工商资料生成\A公司登记申请书.docx', r'D:\好记薪\工商资料生成\B股东会决议.docx'], 'AB.docx') if sheet['C3'].value or sheet['C4'].value or sheet['C5'].value or sheet['C6'].value: # 合并A、B、C文档 merge_docx([r'D:\好记薪\工商资料生成\A公司登记申请书.docx', r'D:\好记薪\工商资料生成\B股东会决议.docx', r'D:\好记薪\工商资料生成\C章程.docx'], 'ABC.docx') if sheet['C7'].value: # 合并A、B、C、D文档 merge_docx([r'D:\好记薪\工商资料生成\A公司登记申请书.docx', r'D:\好记薪\工商资料生成\B股东会决议.docx', r'D:\好记薪\工商资料生成\C章程.docx', r'D:\好记薪\工商资料生成\D股权转让协议.docx'], 'ABCD.docx') if sheet['C8'].value: # 合并A、B、C、E文档 merge_docx([r'D:\好记薪\工商资料生成\A公司登记申请书.docx', r'D:\好记薪\工商资料生成\B股东会决议.docx', r'D:\好记薪\工商资料生成\C章程.docx', r'D:\好记薪\工商资料生成\E有关债务清偿及担保情况说明.docx'], 'ABCE.docx')
这段代码看起来没有明显的问题,但是需要注意的是,在使用openpyxl库时,如果你的Excel文件是旧版本的(比如.xls格式的),则需要使用xlrd库进行读取,openpyxl只支持新版本(比如.xlsx格式的)Excel文件。另外,如果你的代码中使用了其他库或者函数,请检查它们是否存在问题。如果以上方法都不能解决问题,请提供更多的错误信息和相关代码,方便我更好地帮助你。
from openpyxl import load_workbook from docxcompose.composer import Composer from docx import Document # 加载Excel文件 wb = load_workbook(r'D:\好记薪\工商资料生成\表格.xlsx') sheet = wb['需调用文档'] # 获取需要插入的Docx文件路径 docx_files = [] if sheet['D2'].value: docx_files.append(r'D:\好记薪\工商资料生成\A公司登记申请书.docx') if sheet['E2'].value: docx_files.append(r'D:\好记薪\工商资料生成\B股东会决议.docx') if sheet['F2'].value: docx_files.append(r'D:\好记薪\工商资料生成\C章程.docx') if sheet['G2'].value: docx_files.append(r'D:\好记薪\工商资料生成\D股权转让协议.docx') if sheet['H2'].value: docx_files.append(r'D:\好记薪\工商资料生成\E有关债务清偿及担保情况说明.docx') # 创建模板Docx template_docx = Document(r'D:\好记薪\工商资料生成\template.docx') # 将需要插入的Docx文件逐个加到模板末尾 if docx_files: composer = Composer(template_docx) for docx_file in docx_files: composer.append(Document(docx_file)) composer.save(r'D:\好记薪\工商资料生成\merged.docx')
这段代码看起来是一个Python程序,它依赖于openpyxl和docxcompose模块。它的作用是将多个Docx文件插入到一个模板Docx文件中,并保存为一个新的Docx文件。
在运行这段代码之前,你需要确保在你的计算机上已经安装了openpyxl和docxcompose模块。你可以使用pip来安装它们:
```
pip install openpyxl
pip install docxcompose
```
如果你已经安装了这些模块,那么你可以直接运行这段代码。它会根据Excel表格中的某些条件来决定需要插入哪些Docx文件,并将它们逐个加入到模板Docx文件的末尾。
最后,它将保存一个新的Docx文件,其中包含了插入的所有文档。
阅读全文