数据分析实用python程序

2023-05-16

文章目录

  • 1、pdf转txt
  • 2、判断txt文件是否为空
  • 3、获取txt文件每一行
  • 4、获取文件夹所有文件名
  • 5、读写xlsx表格
  • 6、遍历txt每个字符
  • 7、字符串中字符替换

1、pdf转txt

# dealPdf : pdf文件名
# path1 : pdf所在文件夹路径
# path2 : txt存放文件夹路径

# 将pdf文件转化成txt文件
def pdf_to_txt(dealPdf, path1, path2):
    # 不显示warning
    logging.propagate = False
    logging.getLogger().setLevel(logging.ERROR)
    pdf_filename = dealPdf
    device = PDFPageAggregator(PDFResourceManager(), laparams=LAParams())
    interpreter = PDFPageInterpreter(PDFResourceManager(), device)
    parser = PDFParser(open(path1 + pdf_filename, 'rb'))
    doc = PDFDocument(parser)

    txt_filename = dealPdf.split('.')[0] + '.txt'

    # 检测文档是否提供txt转换,不提供就忽略
    if not doc.is_extractable:
        raise PDFTextExtractionNotAllowed
    else:
        with open(path2 + txt_filename, 'w', encoding="utf-8") as fw:
            # print("num page:{}".format(len(list(doc.get_pages()))))
            for i, page in enumerate(PDFPage.create_pages(doc)):
                interpreter.process_page(page)
                # 接受该页面的LTPage对象
                layout = device.get_result()
                # 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象
                # 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等
                # 想要获取文本就获得对象的text属性,
                # print(layout.__len__())
                for x in layout:
                    if isinstance(x, LTTextBox):
                        results = x.get_text()
                        print(results)
                        fw.write(results)

2、判断txt文件是否为空

# path : txt文件路径

def check(path):
    with open(path, 'r', encoding="utf-8") as f:
        txt = f.read()
        if txt == '':
            return True
        else:
            return False

3、获取txt文件每一行

# path : txt文件路径

def get_lines(path):
    with open(path, 'r', encoding="utf-8") as f:
        txt = f.readlines()
        return txt

4、获取文件夹所有文件名

import os

# path : 文件夹路径

def get_lines(path):
    files_name = os.listdir(path)
    return files_name

5、读写xlsx表格

import openpyxl

one_xlsx = openpyxl.load_workbook('E:/one.xlsx')  # 获取第一个xlsx表格
sheet_1 = one_xlsx.worksheets[0]  # 第一个sheet
sheet_2 = one_xlsx.worksheets[1]  # 第二个sheet
col_num = sheet_1.max_column  # 获取最大列
row_num = sheet_1.max_row  # 获取最大行
for i in range(1,row_num + 1):
    for j in range(1, col_num + 1):
        print(sheet_1.cell(i, j).value)  # 遍历每个格子
one_xlsx.save('E:/two.xlsx')  # 存xlsx表格

6、遍历txt每个字符

def visit(path):
    with open(path, 'r', encoding="utf-8") as f:
        txt = f.read()
        for i in range(len(txt)):
            print(txt[i])

7、字符串中字符替换

txt.replace(str1, str2) # 将txt字符串中所有字串str1替换为str2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据分析实用python程序 的相关文章

随机推荐

  • 3D点云的基本操作(基于PCL编程)

    知识储备 右手系 右手 xff0c 拇指 xff0c 食指 xff0c 中指 xff0c 分别是x y z的正方向 左手系则同理 旋转矩阵 本质 xff1a 两个坐标系之间的旋转关系 用途 xff1a 旋转点云 原理 xff1a 设传感器的
  • uCOS-III 应用开发指南—基于 STM32F103系列

    uCOS III 应用开发指南 基于 STM32F103系列 嵌入式经典教材 实例截图 文件 xff1a 590m com f 25127180 490253580 defdec xff08 访问密码 xff1a 551685 xff09
  • 无人机飞行控制源码(android)

    旨在为大学生 航模爱好者 创客提供可二次开发的迷你四轴飞行器原型 是一个完全开源的项目 xff0c 包括源代码 xff0c 原理图 xff0c 设计思路等 可以通过它学习四轴飞行器相关知识 xff0c 也可以在上面进行二次开发 xff0c
  • 通过git下载github分支(最详细)

    文章目录 一 git下载指定分支代码到本地A 前提 xff1a B 具体步骤 xff1a 二 git下载github所有分支代码到本地具体步骤 xff1a 一 git下载指定分支代码到本地 任务一 xff1a 下载地址为https gith
  • CSS基线对齐的理解以及处理

    相信大家都会遇到同行不同盒子中文本的内容不能对齐的情况 xff0c 而不知道这是为何 xff1f 其实这是因为基线对齐的原因 什么是基线对齐 xff1f 先让我们来看一张图片 xff1a 到这里我们的疑惑是不是少了一些 xff1f 基线对齐
  • Eigen求解大型稀疏对称矩阵(Cholesky分解)

    参考自Eigen文档 代码如下 xff1a span class token macro property span class token directive hash span span class token directive ke
  • CMake的基本使用方法与install命令

    源代码 main cpp文件如下 span class token macro property span class token directive hash span span class token directive keyword
  • docker常用命令总结

    docker常用命令总结 span class token function uname span span class token parameter variable r span span class token comment 查看
  • 基于STC15的飞控设计(1)飞控电路设计

    前言 学校举办的无人机比赛 xff0c 要求使用stc15系列芯片设计飞控 xff0c 然后完成一台四轴的无人机进行穿越障碍的比赛 xff0c 第一次设计飞控 xff0c 如果有什么设计得不好的希望大家多多指教 这个博客算是制作流程的记录
  • STM32F407霸天虎FreeRTOS学习笔记——移植FreeRTOS到开发板上

    STM32F407霸天虎FreeRTOS学习笔记 移植FreeRTOS到开发板上 FreeRTOS源码获取移植第一步 xff1a 创建文件夹Keilmain c 实验效果 FreeRTOS源码获取 在移植之前 xff0c 首先要获取到 Fr
  • 倒立摆及其应用//2021-2-23

    前言 xff1a 以前搞电赛的时候搞过Pid平衡小车 xff0c 倒立摆基本实现方法与平衡小车差不多 xff0c 有一次刚院跑到实验室唠嗑 xff0c 问你知不知道倒立摆的应用 xff1f 我说不知道 xff0c 他说航天火箭 xff0c
  • TypeError: Cannot convert a symbolic Keras input/output to a numpy array.

    问题类型 TypeError Cannot convert a symbolic Keras input output to a numpy array This error may indicate that you re trying
  • 自己的学习记录

    从今天开始学习如何使用Java来写数据库课程设计的作业 xff01 xff01 xff01
  • Tsai分享:资源分享(1)——视觉SLAM十四讲及视频

    Tsai分享 xff1a 资源分享 xff08 1 xff09 视觉SLAM十四讲及视频 一 视觉SLAM十四讲 如若转载请附上链接 xff1a https blog csdn net weixin 43338642 article det
  • pycharm如何查看python文件的工作目录

    在找bug的过程中发现python文件的工作目录和存放目录地址有可能是不一样的 xff0c pathlib路径操作中的pathlib Path cwd 获取的是工作目录而不是存放目录地址发现工作目录和存放目录地址不同的时候一定要修改过来 x
  • C++中vector的用法详解

    文章目录 构造函数增加函数删除函数遍历函数判断函数大小函数交换函数赋值函数改变空间 构造函数 span class token comment vector 创建一个空vector span vector span class token
  • 华为技术面

    文章目录 手撕代码流程题目描述方法介绍面试官评价思维扩展 项目描述技术问题内存说明下C 43 43 的内存分配情况 xff0c 栈和队列的区别以及程序员如何分配回收内存 xff1f C 43 43 程序员和Java程序员有一个很大的区别 x
  • 华东师范大学计算机学硕2023考研经验贴

    文章目录 1 个人经历1 1 一战1 2 二战1 3 心态 2 初试2 1 政治2 2 英语2 3 数学2 4 408 3 复试3 1 机试A 数字猜想B 特殊质数C 最小字符串D 数字排序E 整数分解 3 2 英语面试3 3 综合面试 1
  • Go后端部署服务器

    go后端部署服务器方式一 xff1a xff08 最简单 xff09 和暑假做重点场所项目部署一样 xff0c 简单 xff0c 无脑 xff0c 手动 xff0c 麻烦 span class token number 1 span spa
  • 数据分析实用python程序

    文章目录 1 pdf转txt2 判断txt文件是否为空3 获取txt文件每一行4 获取文件夹所有文件名5 读写xlsx表格6 遍历txt每个字符7 字符串中字符替换 1 pdf转txt span class token comment de