将名为“普通高等学校本科专业目录.pdf”的pdf文件转换成csv文件

这篇具有很好参考价值的文章主要介绍了将名为“普通高等学校本科专业目录.pdf”的pdf文件转换成csv文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

任务描述

将名为“普通高等学校本科专业目录.pdf”的pdf文件转换成csv文件。这个pdf每页是个表格,表格有7列。

下面是pdf的第一页和第二页:
将名为“普通高等学校本科专业目录.pdf”的pdf文件转换成csv文件,杂七杂八,python,pdf

将名为“普通高等学校本科专业目录.pdf”的pdf文件转换成csv文件,杂七杂八,python,pdf

2023年普通高等学校本科专业目录pdf链接

链接: https://pan.baidu.com/s/14acDd_L7AtXgKyq_LAV5Rg?pwd=hmne 提取码: hmne

代码

可以使用 Python 的几个库来做到这一点。以下是一个示例代码,该代码使用了pdfplumber来读取PDF文件,并使用pandas来保存数据到csv文件。

注意:此代码假设pdf文件中的表格能够通过线条明确辨识,并且此方法可能不会对所有pdf文件有效,因为pdf的构造和内容可能会对解析产生影响。

import pdfplumber
import pandas as pd

def convert_pdf_to_csv(pdf_file):
    # 打开pdf文件
    with pdfplumber.open(pdf_file) as pdf:
        # 初始化一个空的DataFrame用于存储所有页的数据
        df_all = pd.DataFrame()

        # 遍历每一页
        for page in pdf.pages:
            # 提取表格数据
            tables = page.extract_tables()
            for table in tables:
                # 将表格数据转化为DataFrame
                df = pd.DataFrame(table[1:], columns=table[0])
                df_all = pd.concat([df_all, df])

        # 保存为csv文件
        df_all.to_csv(pdf_file.replace('.pdf', '.csv'), index=False)

# 使用函数
convert_pdf_to_csv("普通高等学校本科专业目录.pdf")

以上代码将遍历PDF中的每一页,并从每页中提取表格数据。这些数据将被合并并保存到一个CSV文件中。最后的CSV文件名将与输入的PDF文件名相同,只是扩展名变为了".csv"。

代码解析

这段代码是在Python环境下运行的首先,它需要导入两个库:pdfplumberpandas

  1. import pdfplumber: pdfplumber 是一个Python库,用于提取PDF中的文本、表格和元数据。

  2. import pandas as pd: pandas 是一个Python数据分析库,这里主要用它来创建和操作DataFrame(一个二维标签化的数据结构),并将DataFrame保存为csv文件。

然后,定义了一个名为convert_pdf_to_csv的函数,该函数接受一个参数pdf_file,代表要转换的PDF文件名。

  1. with pdfplumber.open(pdf_file) as pdf: 使用pdfplumberopen函数打开PDF文件。with语句用于包裹文件操作的上下文,确保文件在操作完毕后被正确关闭。

  2. df_all = pd.DataFrame(): 初始化一个空的DataFrame,用于存储从每一页PDF中提取出来的表格数据。

  3. for page in pdf.pages: 遍历PDF的每一页。

  4. tables = page.extract_tables(): 使用pdfplumberextract_tables函数从每一页中提取表格数据,这会返回一个列表,每个元素代表一页中的一个表格,表格本身也是一个列表,其中包含行数据。

  5. for table in tables: 对于每个提取出来的表格。

  6. df = pd.DataFrame(table[1:], columns=table[0]): 将表格数据转换为DataFrame。这里假设表格的第一行是列名,所以我们用table[0]作为列名,剩余的table[1:]作为数据。

  7. df_all = pd.concat([df_all, df]): 将当前页的DataFrame(df)与总的DataFrame(df_all)合并。

  8. df_all.to_csv(pdf_file.replace('.pdf', '.csv'), index=False): 将最后的DataFrame保存为csv文件。文件名通过将原PDF文件名的’.pdf’部分替换为’.csv’得到。参数index=False表示在保存csv时不包括索引。

最后一行是调用这个函数,将指定的PDF文件转换为CSV文件。

运行截图

将名为“普通高等学校本科专业目录.pdf”的pdf文件转换成csv文件,杂七杂八,python,pdf文章来源地址https://www.toymoban.com/news/detail-553841.html

到了这里,关于将名为“普通高等学校本科专业目录.pdf”的pdf文件转换成csv文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高考志愿怎么选择学校和专业

    高考结束后,面临着人生重要抉择的时刻——填报志愿。如何在众多学校和专业中做出明智的选择,成为了许多考生和家长的困扰。本文将为您提供一些关于如何选择学校和专业的建议,帮助您在高考志愿填报中避免陷阱,找到最适合自己的发展道路。 兴趣是最好的老师,选

    2024年02月10日
    浏览(46)
  • 本科生高薪专业top10,全被计算机承包了

    在每年被唱衰的行业里,即使如高薪神话的IT行业,也难逃此“劫”—— IT不行了!疲软了!现在再入行IT和计算机就是坑! 然而事实上,根据最新数据报告显示,2022届本科毕业生毕业半年后月收入排前10位的,全是与IT相关的计算机与电子信息类专业。 真正应了那句话:看

    2024年02月05日
    浏览(30)
  • 2022-数字媒体技术是什么?学什么?身为普通本科生的我们该怎么学?

     ————————————————— 👨‍💻个人主页:@元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏  数字媒体技术  生活如茶需慢品,岁月如歌需静听! —————————————————— 看了太多介绍,小编觉得还是

    2023年04月20日
    浏览(68)
  • 高考报志愿 选专业和选学校哪个更重要?

    各省市的高考分数陆续出炉,很多人都对专业选择犯难,有的甚至连自己喜欢哪所学校也变得纠结了起来。高考填报志愿的时候如何进行合理选择,让自己在选择专业和选择学校中得到一个满意的答案呢? 关于高考填表志愿选专业,可参考小猫测试网的:MBTI职业性格测试、

    2024年02月12日
    浏览(26)
  • 普通学校毕业的程序员有机会进入大厂吗?聊聊我的想法

    我身边就有这样一位朋友,他毕业于西安的一所普通的二本院校。毕业后,他的第一份工作是给大厂做外包。这个外包公司挺大的,每年都会招聘很多人。很多程序员也在这家公司工作。他的岗位属于测试开发,工作相对简单。正式员工写好代码后,外包人员只需要按照测试

    2024年02月04日
    浏览(51)
  • 本科自动化专业,单片机、PLC、嵌入式等方向哪个前景好一些?

    最近看到一个topic:本科自动化专业,单片机、PLC、嵌入式等方向哪个前景好一些? 先纠正一个错误观点,单片机其实是嵌入式的一个职业方向,也算是嵌入式的一种,因为程式都是 嵌入到芯片内部运行,区别是单片机一般最多只能跑freertos系统这些小系统,性能相对来说没

    2024年02月11日
    浏览(27)
  • 为什么近年来很多学校开设了集成电路专业?

    目录 1.什么是集成电路 2.中国集成电路的发展现状 3.美国对中国集成电路发展的打压 4.高校开设集成电路专业对中国芯片发展的影响         集成电路(Integrated Circuit,简称IC)是一种在半导体材料上集成了大量电子元件的电路。它通常由晶体管、电阻、电容等多种电子器

    2024年02月14日
    浏览(42)
  • ChatGPT计算机科学与技术专业的本科毕业论文,2000字。论文查重率低于30%。

    目录 摘要 Abstract 绪论 1.1 研究背景 1.2 研究目的和意义 2.1 ChatGPT技术概述 2.2 ChatGPT技术的优缺点分析 2.2.1 优点 2.2.2 缺点         本论文围绕ChatGPT展开,介绍了该技术的发展历程、特点及应用,分析了该技术的优缺点,提出了对该技术进行优化的方案。在对比分析多种方

    2024年02月11日
    浏览(31)
  • 学生信息管理系统springboot学校学籍专业数据java jsp源代码mysql

    本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 学生信息管理系统springboot 系统3权限:超级管理员,学生,老师。 管理员登录主要包括:用户管理,专业管

    2024年02月14日
    浏览(36)
  • 普通二本+转专业学计算机是什么感受

    作者现在是大二,由于当时高考考砸了,分数在重本线左右,为了去一个稍微好一点的学校,于是填报了化学工程与工艺(并不是说这专业不好,只是填报化工更容易进这个学校) 进入大学后发现大学化学和高中化学有很大的区别 首先就是学的内容,大一的无机化学有400多页,而且要一

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包