当前位置: 首页 > news >正文

尝试进行表格处理

꧂ input输入多行文本,3个回车结束꧁

用input输入

如果你想要使用 input 输入多行文本,可以在输入时按照以下方式来终止输入:

text = ''
while True:line = input("请输入文本(按回车继续,按3个回车结束): ")if line == '':text += '\n'else:text += line + '\n'count = 0if count == 2:breakcount += 1

我们使用一个 while 循环来持续接收用户的输入。当用户输入一个空行(即按下了回车键),我们将它作为换行符添加到 text 变量中。然后,在用户连续输入三个空行之后,我们使用 break 语句跳出循环。

请注意,这里我们使用的是字符串连接操作符 + 来逐行构建最终的文本字符串。如果你需要对多行文本进行进一步处理,可以根据需要修改代码。

꧂openpyxl ꧁

存储到excel列
每次递归列

要将文本逐行存储到 Excel 的不同列中,你可以使用 openpyxl 库来创建和操作 Excel 文件。以下是一个示例代码:

from openpyxl import Workbookdef save_to_excel(text, column):# 创建一个新的工作簿wb = Workbook()# 选择活动工作表ws = wb.active# 将文本按行分割,并逐行存储到指定列lines = text.split('\n')for i, line in enumerate(lines):# 添加数据到指定的列ws.cell(row=i+1, column=column, value=line)# 保存工作簿save_path = input("请输入保存路径:")wb.save(save_path)# 获取用户输入的多行文本
text = ''
while True:line = input("请输入文本(按回车继续,按3个回车结束): ")if line == '':text += '\n'else:text += line + '\n'count = 0if count == 2:breakcount += 1# 输入要存储到的列号
column_number = int(input("请输入要存储到的列号: "))# 保存到 Excel
save_to_excel(text, column_number)

在该示例中,我们首先导入了 openpyxl 库,并定义了一个名为 save_to_excel 的函数,用于将文本存储到 Excel 中的特定列。save_to_excel 函数接受两个参数,即要存储的文本和列号。它会将文本按行分割,并逐行存储到指定列中。

在主程序中,我们获取用户输入的多行文本,并要求用户指定要存储到的列号。然后,我们调用 save_to_excel 函数来保存文本到 Excel 文件中。

请注意,你需要先安装 openpyxl 库,可以使用以下命令进行安装:

pip install openpyxl

但我并不想用openpyxl,我的真实目标是存在

/storage/emulated/0/数据中心/pandas

这个地址

꧂使用pandas库 ꧁

使用 pandas 库来将文本逐行存储到 Excel 的不同列中也是很方便的。以下是一个示例代码:

import pandas as pddef save_to_excel(text, column):# 将文本按行分割,并创建一个 DataFrame 对象lines = text.split('\n')df = pd.DataFrame(lines, columns=[f'col{column}'])# 将数据保存到 Excel 文件中save_path = input("请输入保存路径:")df.to_excel(save_path, index=False)# 获取用户输入的多行文本
text = ''
while True:line = input("请输入文本(按回车继续,按3个回车结束): ")if line == '':text += '\n'else:text += line + '\n'count = 0if count == 2:breakcount += 1# 输入要存储到的列号
column_number = int(input("请输入要存储到的列号: "))# 保存到 Excel
save_to_excel(text, column_number)

在该示例中,我们首先导入了 pandas 库,并定义了一个名为 save_to_excel 的函数,用于将文本存储到 Excel 中的特定列。save_to_excel 函数接受两个参数,即要存储的文本和列号。它会将文本按行分割,并创建一个 DataFrame。然后,它会将 DataFrame 中的数据保存到指定的 Excel 文件中。

在主程序中,我们获取用户输入的多行文本,并要求用户指定要存储到的列号。然后,我们调用 save_to_excel 函数来保存文本到 Excel 文件中。

请注意,你需要先安装 pandas 库,可以使用以下命令进行安装:

pip install pandas

꧂规范代码需要 ꧁

明白了你的需求。

听好,我的意思输入表头
....
用标点符号库处理input多行字符串,成为表头输入每个表头的列
....
用标点符号库处理input多行字符串,成为列

对于输入的多行字符串,我们可以使用标点符号作为分隔符,将其处理成表头和列。以下是示例代码:

import pandas as pd
import redef process_input(input_text):# 使用正则表达式将标点符号替换为空格,并去除多余空格processed_text = re.sub(r'[^\w\s]', ' ', input_text)processed_text = re.sub(r'\s+', ' ', processed_text)# 将处理后的文本按行分割lines = processed_text.strip().split('\n')return lines# 获取表头
header_input = input("请输入表头(多行,以空行结束):")
header_lines = process_input(header_input)# 获取列名
column_input = input("请输入每个表头的列(多行,以空行结束):")
column_lines = process_input(column_input)# 创建 DataFrame
df = pd.DataFrame(columns=header_lines)# 为 DataFrame 添加列
for column in column_lines:df[column] = ''# 保存到 Excel 文件中
save_path = input("请输入保存路径:")
df.to_excel(save_path, index=False)

在示例代码中,我们定义了一个名为 process_input 的函数,用于处理输入的多行字符串。该函数使用正则表达式将标点符号替换为空格,并去除多余的空格。然后,将处理过的文本按行分割,并返回处理后的行。

在主程序中,我们先获取用户输入的表头和列名的多行字符串。然后,分别使用 process_input 函数处理这两个输入,并得到处理后的行。

接下来,我们创建一个空的 DataFrame,并将表头作为列名。然后,使用循环遍历列名行,为 DataFrame 添加相应的空列。

最后,我们要求用户输入保存路径,并将 DataFrame 中的数据保存到指定的 Excel 文件中。

꧂存储excel起来 ꧁

感谢提供保存路径和表格数据的信息。

保存 /storage/emulated/0/数据中心/pandas/1.后缀名
我表格中有列有文本行了

下面是更新后的代码,可以将文本行添加到表格中,并将其保存为 Excel 文件:

import pandas as pd
import redef process_input(input_text):processed_text = re.sub(r'[^\w\s]', ' ', input_text)processed_text = re.sub(r'\s+', ' ', processed_text)lines = processed_text.strip().split('\n')return lines# 获取表头
header_input = input("请输入表头(多行,以空行结束):")
header_lines = process_input(header_input)# 获取列名
column_input = input("请输入每个表头的列(多行,以空行结束):")
column_lines = process_input(column_input)# 创建 DataFrame
df = pd.DataFrame(columns=header_lines)# 为 DataFrame 添加列
for column in column_lines:df[column] = ''# 获取文本行
text_rows_input = input("请输入每行文本(多行,以空行结束):")
text_rows = process_input(text_rows_input)# 将文本行添加到 DataFrame
for i, row in enumerate(text_rows):df.loc[i] = row.split()# 保存到 Excel 文件中
save_path = "/storage/emulated/0/数据中心/pandas/1.xlsx"  # 自定义保存路径及文件名
df.to_excel(save_path, index=False)print("表格已保存至:", save_path)

在这个更新后的代码中,我们添加了处理文本行的部分。首先获取用户输入的每行文本,并使用 process_input 函数处理。然后,使用一个循环遍历文本行列表,将每行文本切割后添加到 DataFrame 中的对应行。

最后,指定保存路径为 “/storage/emulated/0/数据中心/pandas/1.xlsx”(请根据实际需求修改),并将 DataFrame 保存为 Excel 文件。

请注意,代码中的保存路径是一个示例路径,你可以根据自己的需要进行修改。

꧂我听不懂,例子呢, ꧁

非常抱歉让你感到困惑。下面是一个例子,演示了如何使用更新后的代码保存表格数据为 Excel 文件。

假设我们有以下输入:

表头(多行,以空行结束):

姓名
年龄
性别

每个表头的列(多行,以空行结束):

张三
李四
王五

每行文本(多行,以空行结束):

18 22 25
男 女 男

在程序运行时,按照提示输入上述信息。然后,程序会将这些信息保存为一个名为 “1.xlsx” 的 Excel 文件,路径为 “/storage/emulated/0/数据中心/pandas/”。

请尝试运行以下代码示例,并根据实际情况进行相应修改:

import pandas as pd
import redef process_input(input_text):processed_text = re.sub(r'[^\w\s]', ' ', input_text)processed_text = re.sub(r'\s+', ' ', processed_text)lines = processed_text.strip().split('\n')return lines# 获取表头
header_input = '''姓名
年龄
性别'''header_lines = process_input(header_input)# 获取列名
column_input = '''张三
李四
王五'''column_lines = process_input(column_input)# 创建 DataFrame
df = pd.DataFrame(columns=header_lines)# 为 DataFrame 添加列
for column in column_lines:df[column] = ''# 获取文本行
text_rows_input = '''18 22 25
男 女 男'''text_rows = process_input(text_rows_input)# 将文本行添加到 DataFrame
for i, row in enumerate(text_rows):df.loc[i] = row.split()# 保存到 Excel 文件中
save_path = "/storage/emulated/0/数据中心/pandas/1.xlsx"
df.to_excel(save_path, index=False)print("表格已保存至:", save_path)

在运行代码后,你可以在指定的路径下找到名为 “1.xlsx” 的 Excel 文件。打开该文件,你将看到表格已经成功保存,并包含了输入的表头、列名和文本行数据。

相关文章:

尝试进行表格处理

꧂ input输入多行文本,3个回车结束꧁ 用input输入如果你想要使用 input 输入多行文本,可以在输入时按照以下方式来终止输入: text while True:line input("请输入文本(按回车继续,按3个回车结束)…...

VueRouter 源码解析

重要函数思维导图 路由注册 在开始之前,推荐大家 clone 一份源码对照着看。因为篇幅较长,函数间的跳转也很多。 使用路由之前,需要调用 Vue.use(VueRouter),这是因为让插件可以使用 Vue export function initUse(Vue: GlobalAP…...

云原生之Docker

docker 初识Docker什么是DockerDocker与虚拟机Docker相关术语及架构镜像和容器DockerHubDocker架构 Docker命令镜像操作命令容器操作命令数据卷命令 自定义镜像镜像结构Dockerfile DockerCompose安装常用命令 初识Docker 什么是Docker docker是一个快速交付应用,运…...

List简介

概念: 数据结构列表(List)是Java中的一种线性数据结构,用于存储有序的元素集合。它允许重复元素,并且每个元素都有一个对应的索引来访问和操作。列表可以动态增长或缩小,并且支持添加、删除和修改操作。 …...

【ArcGIS Pro二次开发】(71):PPT文件操作方法汇总

以下操作都要用到【Microsoft.Office.Interop.PowerPoint】,确保安装并引用。 1、打开PPT文件 // 打开PPT Microsoft.Office.Interop.PowerPoint.Application pptApp new Microsoft.Office.Interop.PowerPoint.Application();Presentation ppt pptApp.Presentati…...

CloudCompare 二次开发(18)——法线空间采样

目录 一、概述二、代码集成三、结果展示一、概述 使用CloudCompare与PCL的混合编程实现点云法线空间采样。法线空间采样的具体计算原理见:PCL 法线空间采样。 二、代码集成 1、mainwindow.h文件public中添加: void doActionNormalSpaceSample(); // 法线空间采样2、mainwi…...

RFCN目标检测算法

...

【学习草稿】bert文本分类

https://github.com/google-research/bert https://github.com/CyberZHG/keras-bert 在 BERT 中,每个单词的嵌入向量由三部分组成: Token 嵌入向量:该向量是 WordPiece 分词算法得到的子单词 ID 对应的嵌入向量。 Segment 嵌入向量&#x…...

华为OD 食堂供餐(100分)【java】A卷+B卷

华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…...

Hadoop3教程(二十七):(生产调优篇)HDFS读写压测

文章目录 (146)HDFS压测环境准备(147)HDFS读写压测写压测读压测 参考文献 (146)HDFS压测环境准备 对开发人员来讲,压测这个技能很重要。 假设你刚搭建好一个集群,就可以直接投入生…...

【MyBatis进阶】mybatis-config.xml分析以及try-catch新用法

目录 尝试在mybatis项目中书写增删改查 遇见问题:使用mybaties向数据库中插入数据,idea显示插入成功,但是数据库中并没有数据变化? MyBatis核心配置文件剖析 细节剖析: try-catch新用法 截至目前我的项目存在的问题&#xf…...

机器学习终极指南:统计和统计建模03/3 — 第 -3 部分

系列上文:机器学习终极指南:特征工程(02/2) — 第 -2 部分 一、说明 在终极机器学习指南的第三部分中,我们将了解统计建模的基础知识以及如何在 Python 中实现它们,Python 是一种广泛用于数据分析和科学计…...

php获取农历日期节日

代码地址&#xff1a;php获取农历日期节日-遇见你与你分享 <?php $c new DayService(); $today$c->convertSolarToLunar(date(Y),date(m),date(d)); $time "农历".$today[1].$today[2]."日";class DayService {var $MIN_YEAR 1891;var $MAX_YEAR …...

主机重启后k8s kubelet无法自动启动问题解决梳理

1.问题描述 OS Version:CentOS Linux release 7.9.2009 (Core) K8S Version:Kubernetes v1.20.4 K8S安装配置完成后,重启服务器发现,kubelet没有正常启动(systemctl status kubelet) 命令: systemctl status kubelet [root@centos79-3 ~]# systemctl status kubelet ●…...

Hadoop面试题(2)

1.什么是数据倾斜&#xff1f;如何处理数据倾斜&#xff1f; 数据倾斜指的是在分布式计算中&#xff0c;数据在某些节点上不均匀地分布&#xff0c;导致某些节点的负载过重&#xff0c;影响整体计算性能。 处理数据倾斜的方法主要包括以下几种&#xff1a; 增加分区数量&…...

[ Windows-Nginx ]Windows服务器,Tomcat容器部署项目,整合Nginx

一、官网下载Nginx http://nginx.org/en/download.html 稳定版&#xff1a;windows的stable版本 注意&#xff1a;Nginx安装包不要放在中文目录下 二、conf目录下&#xff0c;修改nginx.conf文件 修改Nginx服务端口&#xff1a; 默认端口为80&#xff0c;即外界访问的入口…...

手搭手zabbix5.0监控redis7

Centos7安装配置Redis7 安装redis #安装gcc yum -y install gcc gcc-c #安装net-tools yum -y install net-tools #官网https://redis.io/ cd /opt/ wget http://download.redis.io/releases/redis-7.0.4.tar.gz 解压至/opt/目录下 tar -zxvf redis-7.0.4.tar.gz -C /opt/ #…...

学习笔记02-iview组件使用

学习笔记02-iview组件使用 文章目录 学习笔记02-iview组件使用一、iview 2-Tabs使用 一、iview 2-Tabs使用 官方地址&#xff1a;https://www.iviewui.com/view-ui-plus/component/navigation/tabs 点击tabs页面可以获取当前页面的name信息&#xff0c;并且可以点击后再获取当…...

华为OD 玩牌高手(100分)【java】A卷+B卷

华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…...

什么是AJAX

AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种用于创建交互式、动态网页应用程序的Web开发技术。它允许网页在不刷新整个页面的情况下&#xff0c;与服务器进行异步通信&#xff0c;以获取或发送数据。以下是对AJAX的主要组成部分和概念的概述&#xff1…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...