20234212童德昌 实验四《Python程序设计》实验报告

20234212童德昌 2024-05-28 22:18:41

# 20234212  2022-2023-2 《Python程序设计》综合实践

课程:《Python程序设计》
班级: 2342
姓名: 童德昌
学号:20234212
实验教师:王志强
实验日期:2024年4月22日
必修/选修: 公选课

## 1.实验内容

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
课代表和各小组负责人收集作业(源代码、视频、综合实践报告)
例如:编写从社交网络爬取数据,实现可视化舆情监控或者情感分析。
例如:利用公开数据集,开展图像分类、恶意软件检测等
例如:利用Python库,基于OCR技术实现自动化提取图片中数据,并填入excel中。
例如:爬取天气数据,实现自动化微信提醒
例如:利用爬虫,实现自动化下载网站视频、文件等。
例如:编写小游戏:坦克大战、贪吃蛇、扫雷等等
注:在Windows/Linux系统上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

## 2. 实验过程及结果

1.安装必要的Python库

我们需要安装pytesseract库来进行OCR识别,以及pandasopenpyxl库来操作Excel文件。此外,还需要安装PILPillow库来处理图片。

2.配置Tesseract路径

我们需要额外安装Tesseract OCR引擎,并指定Tesseract的安装路径,以便pytesseract库能够找到它。

 3.加载图片并进行OCR识别

使用PILPillow库加载图片,然后使用pytesseract进行文字识别。

 4.数据清洗与整理

提取出的文本可能包含不需要的信息,如换行符、空格等。你可能需要对其进行清洗和格式化,以便将其转换为结构化的数据。

 5.将数据填入Excel

使用pandas库创建一个DataFrame,然后将清洗后的数据填入DataFrame,并保存到Excel文件中。

6.创建主文件

通过main()函数的使用,使得程序逻辑通畅。

7.运行与结果

被截取图片:

  结果:

 

##3.问题

1.对于该技术不了解

通过上网查阅资料与案例加深理解。

2.报错:‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escape

查阅资料,发现在文件夹中复制地址时,文件夹中的地址是用  \ 来分隔不同的文件夹,而Python识别地址时只能识别用 / 分隔的地址。通过在字符串前加上rR解决。

具体解决方法为:image_path = r'C:\Users\tdc\Pictures\Screenshots\屏幕截图 2024-03-19 191146.png'

3.代码运行后,控制台未显示提取的文本

未添加打印输出的语句print()。

具体解决方法为:print("Cleaned Text:", cleaned_text)

4.运行后未截取中文

Tesseract-OCR 安装时,未加载识别中文所需的语言数据。经过重新安装后仍未解决。通过AI工具查找问题,发现未指定中文。

具体解决方法为:text = pytesseract.image_to_string(img, lang='chi_sim')

## 源代码

from PIL import Image
import pytesseract
import pandas as pd

pytesseract.pytesseract.tesseract_cmd = r'D:\学习\大一下\Python选修\Tesseract-OCR\tesseract.exe'


def extract_text_from_image(image_path):
    image = Image.open(image_path)
    text = pytesseract.image_to_string(image, lang='chi_sim')
    return text


def clean_text(text):
    cleaned_text = text.replace(r'\n', ' ').strip()
    print("Cleaned Text:", cleaned_text)
    return cleaned_text


def main():
    image_path = r'C:\Users\tdc\Pictures\Screenshots\屏幕截图 2024-03-19 191146.png'
    extracted_text = extract_text_from_image(image_path)
    cleaned_data = clean_text(extracted_text)

    df = pd.DataFrame([cleaned_data], columns=['Extracted Data'])
    with pd.ExcelWriter('output.xlsx', engine='openpyxl') as writer:
        df.to_excel(writer, sheet_name='Sheet1', index=False)


if __name__ == "__main__":
    main()

## 4.资料(部分)

(1)CSDN:Python报错:‘unicodeescape‘ codec can‘t decode bytes in position 2-3: truncated \UXXXXXXXX escape                                            链接:Python报错:‘unicodeescape‘ codec can‘t decode bytes in position 2-3: truncated \UXXXXXXXX escape-CSDN博客

(2)CSDN:Tesseract-OCR下载和安装,Python-OCR使用                                                                                                                                            链接:Tesseract-OCR下载和安装,Python-OCR使用_tesseract-ocr python 下载-CSDN博客

(3)天工AI:问题3、4的完全解决。

## 5.实验感想

这次实验相较于前三次实验,难度提升了不止一个档次,在做这次实验时,我时常需要查阅资料,但当我将其一点点的搭建起来时,一种成就感油然而生。事实上,本次实验既是对我们本学期所学的综合性检测,也是让我们实践自身所学与能力的平台。就我而言,这次实验加深了我对于Python的实用性的认识,也体会到以Python为代表的编程是如何改变我们的学习与生活。

## 6.结课感想

不知不觉,一个学期临近尾声,我依稀还记得,在选修Python时那种好奇与期待,但经过12周的学习后,我发现Python的学习并不如我所料想得一帆风顺,而是有重重风浪阻碍着我的前进。但所幸,Python的学习是一个渐进的过程,在期间,有数个“岛屿”可供我们暂时停靠修整,以便更好在学海中遨游。而更为幸运的是,有王志强老师这样优秀且具备耐心的好老师在托举着挣扎于学海的我们,无论我们有什么样的学习问题,都可以向他求助,并且能得到详尽而又生动的回答。或许在未来的某一天,我们已经忘记Python课上的具体内容,但对于Python的那份探求之情铭记于心。

至于建议,我希望能够自编新教材,统一购买的教材使用率还是太低了。同时,可以增加课堂上的互动频率,避免部分学生未能跟上进度。

...全文
328 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文针对三相并网逆变器在高比例新能源接入背景下的高性能控制需求,提出并研究了一种基于有源中点箝位(ANPC)三电平拓扑的复合控制策略。该策略深度融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相技术与电网电压前馈控制,旨在系统性地提升逆变器在稳态电能质量、动态响应速度及复杂电网工况适应性方面的综合性能。通过详细分析ANPC拓扑的硬件优势,如开关损耗均衡、中点电位可控性强及输出谐波含量低,为高性能控制奠定了物理基础。在此基础上,DPWMA调制通过等效倍频效应显著优化了输出波形,降低了总谐波畸变率;正负序分离锁相环有效解决了电网不平衡工况下的锁相失真问题,确保了精确的相位同步;电网电压前馈控制则突破了传统反馈控制的滞后性,实现了对电网扰动的快速预判与补偿。全文通过构建完整的Simulink仿真模型,在对称电网、不平衡电网以及电压突变等多种工况下进行了全面的性能验证,结果表明该复合控制策略能有效维持中点电位稳定、实现精准锁相、大幅抑制谐波与功率波动,并显著增强系统的动态抗扰能力和整体运行稳定性。; 适合人群:具备电力电子技术、自动控制理论及电力系统基础知识,从事新能源发电并网、大功率变流器控制算法开发或相关领域研究的工程技术人员及高校研究生。; 使用场景及目标:①应用于风电、光伏等新能源发电系统中的高性能并网逆变器控制设计;②为解决电网电压不平衡、骤升骤降等非理想工况下的并网稳定性与电能质量问题提供先进的技术方案;③指导基于ANPC等先进多电平拓扑的并网变流器控制算法开发、仿真建模与性能优化。; 阅读建议:建议结合提供的Simulink仿真模型进行实践学习,重点深入理解DPWMA调制的实现逻辑、正负序分离锁相环的设计原理以及前馈-反馈复合控制的协同工作机制,关注各关键模块的参数设计与整定方法,以全面掌握高性能并网逆变器控制系统的构建精髓。
内容概要:本文复现了硕士论文《可再生能源发电与电动汽车的协同调度策略研究》,并通过Python代码实现了其中的核心模型。研究聚焦于在高比例可再生能源接入的背景下,如何通过协同优化风电、光伏等间歇性电源与大规模电动汽车的充电行为,实现电力系统的削峰填谷、提升新能源消纳能力并保障电网运行稳定性。文中构建了一个综合考虑风光出力预测、电动汽车充电需求建模、电网负荷特性及分时电价机制的多目标优化调度模型,并采用先进的优化算法求解最优充放电策略,旨在降低电网负荷波动、减少弃风弃光现象以及用户充电成本。该资源不仅提供了完整的代码实现,还详细阐述了模型的设计逻辑与技术路径,具有较强的可复现性和扩展性。; 适合人群:具备一定Python编程基础和电力系统基础知识,从事新能源、智能电网、电动汽车或优化调度方向研究的硕士研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习并掌握可再生能源与电动汽车协同调度的基本建模方法与优化求解思路;② 复现经典硕士论文研究成果,用于课程设计、科研入门或项目原型开发;③ 基于提供的代码框架进一步扩展功能,如引入V2G(车辆到电网)机制、考虑电池损耗、分布式储能或更复杂的用户行为建模。; 阅读建议:建议读者结合文中提到的Matlab版本资源对照学习,重点关注模型构建的数学逻辑与算法实现细节,运行代码时注意检查所需依赖库(如NumPy、Pandas、SciPy或常用优化求解器)的安装与配置,鼓励通过修改参数设置、调整场景条件等方式进行仿真验证与结果对比分析,以深化对协同调度机制的理解。

93

社区成员

发帖
与我相关
我的任务
社区描述
Python程序设计作业
软件构建 高校 北京·丰台区
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧