python切分TXT的句子到Excel(复制可用)——以及python切分句子遇到的问题汇总

news2024/11/20 0:42:16

文章目录

  • 完整代码
  • 时间转化和提取
  • 各种对象类型转换
  • 时间序列
  • 类属性
  • 数据转换

完整代码

import jieba.analyse

import jieba.posseg as pseg
from wordcloud import WordCloud
import xlsxwriter
# encoding=gbk
import xlsxwriter

f = open('E:/data/xieyangteng/review.txt', 'r', encoding='utf-8')
s = f.read()
print(type(s))


# print(s)
def cut_sentences(content):  # 实现分句的函数,content参数是传入的文本字符串
    # 这个结束符号可以加中文的 ,   但是暂时没有加
    end_flag = ['?', '!', '.', '?', '!', '。']  # 结束符号,包含中文和英文的
    content_len = len(content)
    sentences = []  # 存储每一个句子的列表
    tmp_char = ''
    for idx, char in enumerate(content):
        tmp_char += char  # 拼接字符
        if (idx + 1) == content_len:  # 判断是否已经到了最后一位
            sentences.append(tmp_char.strip().replace('\ufeff', ''))
            break
        if char in end_flag:  # 判断此字符是否为结束符号
            # 再判断下一个字符是否为结束符号,如果不是结束符号,则切分句子
            next_idx = idx + 1
            if not content[next_idx] in end_flag:
                sentences.append(tmp_char.strip().replace('\ufeff', ''))
                tmp_char = ''

    return sentences  # 函数返回一个包含分割后的每一个完整句子的列表


sentence_list = cut_sentences(s)

# 导入Excel
# 一:创建工作簿
workbook = xlsxwriter.Workbook('xieyangteng.xlsx')  # 创建一个excel文件

# 二:创建工作表
worksheet1 = workbook.add_worksheet('test-sheet1')  # 在文件中创建一个名为test-sheet1的sheet,不加名字默认为sheet1
worksheet2 = workbook.add_worksheet()  # Sheet2
worksheet3 = workbook.add_worksheet('test-sheet2')
worksheet4 = workbook.add_worksheet()  # Sheet4

# 三:设置单元格的值


worksheet1.write('A1', '对话语句')  # 在A1单元格写上语句
worksheet1.write('B1', '分类的类别')  # 在B1单元格写上要分类的label

# 使用行列方式,下标从0开始
j = 1
for i in sentence_list:
    worksheet1.write(j, 0, i)  # 第3行第1列(即A3) 写入100

    worksheet1.set_column(j, 0, 120)
    worksheet1.set_column(j, 1, 20)
    print("success!")
    j += 1

workbook.close()





时间转化和提取

00:01:30,050 --> 00:01:44,280
这样一个字符串,如何提取出时间序列。
泪目终于找到我要的代码了开心哭了。

这一串是正则匹配时间提取的核心技术。

各种对象类型转换

参考这个
在这里插入图片描述

时间序列

现在成功切分出了
start time 和 end time
start time 00:00:00
end time 00:00:02
格式是这个样子的,
但是 如何计算
参考正则匹配时间序列:
可以学学人家的代码写作思路。

类属性

初始化属性和不初始化属性的区别,
可以在这篇博客 体会一下

数据转换

提取的转为时间的字符串,保存为float 保留

a = 12.3456
a1 = round(a,2) # 保留小数点后两位
a2 = round(a,3) # 保留小数点后三位
print(a1)
print(a2)

时间分开合并的时候有报错

int() argument must be a string, a bytes-like object or a number, not 'built

我这打印过了 都是 str类型00:00:00
分了三个 每个都是str类型
先转成 int()之后在计算,成功解决!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

波的相关参数概念整理

频率(frequency),符号f,表示单位时间内完成周期性变化的次数。f1/T,单位s-1 角频率,符号ω,表示单位时间内变化的角弧度值。ω 2πf 2π/T,单位rad/s 波长(wavelength&#xff0…

<SQL编程工具MySQL、SQLyog安装及环境配置教程>——《SQL》

目录 1.MySQL安装: 1.1 MySQL下载安装: 1.2 MySQL环境变量配置: 2.SQLyog安装: 2.1 SQLyog下载安装: 3.写在最后的话: 后记:●由于作者水平有限,文章难免存在谬误之处&…

力扣刷题day49|647回文子串、516最长回文子序列

文章目录647. 回文子串思路暴力解法动态规划五部曲516. 最长回文子序列思路动态规划五部曲647. 回文子串 力扣题目链接 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由…

代码随想录算法训练营第一天|LeetCode704二分查找、LeetCode27移除元素

LeetCode704二分查找 题目链接:704二分查找 思路: 以前刷过不少题,也看过不少题解,就记得区间有不少原则,乍一想有哪些想不起来了,反正我是选择了最简单易懂的左闭右闭原则。 1、区间左闭右闭原则。 2、w…

SpringBoot SpringBoot 开发实用篇 2 配置高级 2.3 常用计量单位应用

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇2 配置高级2.3 常用计量单位应用2.3.1 问题引入2.3.2 常用计量单位应…

实验2 存储器设计与实现【计算机组成原理】

实验2 存储器设计与实现【计算机组成原理】实验2 存储器设计与实现一、实验目的二、实验环境三、实验原理四、实验任务五、实验结果:六、心得体会:实验2 存储器设计与实现 一、实验目的 掌握单端口RAM和ROM原理和设计方法。掌握32位数据的读出和写入方…

【LeetCode-中等】343. 整数拆分(详解)

题目 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 力扣:题目链接 方法1:动态规划 完全不了解动态规划? 动态规划…

图像运算和图像增强九

图像运算和图像增强九 图像锐化之 Roberts、Prewitt 算子实现边缘检测 (1)图像锐化 图像锐化的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是图像受到了平均或积分运算,因此可以对…

LeetCode刷题(python版)——Topic70. 爬楼梯

一、题设 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例…

Flutter混编之路IOS插件0基础开发(mac环境)

本文默认你安装了Android Studio、Xcode具备flutter开发环境,并且会dart语言的基础使用,Android、ios原生开发不会也没啥关系,就是会很费劲啦。 1.创建插件 在Android studio 点击File-->new Flutter Project-->Flutter 取好名字&…

Web大学生网页作业成品:基于html制作中国科技发展网站设计题材【航天之路7页】HTML+CSS+JavaScript

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

Celery快速使用(定时任务、Django中使用Celery、秒杀逻辑、双写一致性)

文章标题一、Celery快速使用二、Celery包结构三、Celery异步任务 延时任务 定时任务四、Django中使用Celery五、秒杀逻辑六、双写一致性1)路飞项目接口加缓存2)Celery定时任务实现双写一致性一、Celery快速使用 简单介绍Celery Celery官网:http://www.…

busybox的实现原理分析(C语言实现简易版的busybox)

1、linux中实现命令的两种方式 1.1、命令都是单独的可执行程序 aston:~$ ls -l /bin/ls -rwxr-xr-x 1 root root 138208 2鏈 8 2022 /bin/ls aston:~$ aston:~$ ls -l /bin/mkdir -rwxr-xr-x 1 root root 68096 2鏈 8 2022 /bin/mkdir aston:~$ aston:~$ file /bin/ls…

元数据性能大比拼:HDFS vs S3 vs JuiceFS

元数据是存储系统的核心大脑,元数据性能对整个大数据平台的性能和扩展能力至关重要。尤其在处理海量文件的时候。在平台任务创建、运行和结束提交阶段,会存在大量的元数据 create,open,rename 和 delete 操作。因此,在…

Sass 使用说明

CSS 样式表越来越大、 越来越复杂、越来越难以维护。这就是预处理可以提供帮助的地方。 Sass 为你提供了 CSS 中还不存在的特性,例如变量、 嵌套、混合、继承和其它实用的功能,让编写 CSS 代码变得有意思。 最直接的方式就是在命令行中调用 sass 命令。安…

java和vue的狱警管理系统监狱系统狱务管理系统

简介 狱警管理系统监狱系统狱务管理系统,主要是管理罪犯教育改造、劳动改造、案件管理,罪犯信息管理等 演示视频 https://www.bilibili.com/video/BV1VG411P7YL/?zw&vd_sourcefa4ffd66538a5ca679a754398a6fdb5f 技术:springbootvueel…

git的下载与安装

1. 下载地址 根据自己的电脑配置信息,选用合适的版本进行下载即可,我的电脑上64位win11,所以我选择了64位的widnows版本,下面其他内容也以此版本展开。 windows:Git - Downloading Package macOS:Git - …

Linux-进程管理

基本介绍 在Linux中,每个执行的程序都称为一个进程,每一个进程都分配一个ID号(pid) 程序运行起来就产生了进程 ps ps命令用来查看在目前系统中,有哪些正在执行的进程,以及他们执行的状况,可以不加任何参…

K_A05_004 基于 STM32等单片机驱动2X2块(8X8)点阵模块(MAX7219)显示0-9与中文

目录 一、资源说明 二、基本参数 1、参数 2、引脚说明 三、通信协议说明 工作时序 对应程序: 四、部分代码说明 1、接线说明 1.1、STC89C52RC2X2块(8X8)点阵模块(MAX7219) 1.2、STM32F103C8T62X2块(8X8)点阵模块(MAX7219) 2、亮…

年产10000吨餐厨垃圾制备氨基酸有机肥工厂设计

目录 摘 要 I Abstract II 第1章 餐厨垃圾概况 1 1.1餐厨垃圾性质 1 1.2餐厨垃圾无害化处理的必要性 1 1.3餐厨垃圾资源化处理工艺 1 1.3.1加工有机肥 2 1.3.2好氧堆肥 3 1.3.3厌氧消化 3 第2章 项目概述 4 2.1氨基酸有机肥的介绍 4 2…2 氨基酸有机肥的性质 4 2.3 氨基酸有机肥…