【文档操作】文本文件转excel文件

简介: Excel文件是我们常用的一种文件,在工作中使用非常频繁。Excel中有许多强大工具,因此用Excel来处理文件会给我们带来很多便捷。但是有时候我们拿到了文件不是Excel文件,而且我们又想用Excel中的工具,这个时候我们就可以想办法把这个文件转换成Excel文件了。今天我们就来实现一下,需要注意我们只能把有规律的文件转换成Excel,而且今天的内容也不是普遍通用的。只提供一种思路。

一、前言

Excel文件是我们常用的一种文件,在工作中使用非常频繁。Excel中有许多强大工具,因此用Excel来处理文件会给我们带来很多便捷。但是有时候我们拿到了文件不是Excel文件,而且我们又想用Excel中的工具,这个时候我们就可以想办法把这个文件转换成Excel文件了。今天我们就来实现一下,需要注意我们只能把有规律的文件转换成Excel,而且今天的内容也不是普遍通用的。只提供一种思路。

二、openpyxl模块

openpyxl模块是用来操作Excel文件的一个模块,还有很多模块可以做同样的事情,这里就不介绍了。

1、安装

安装只需要执行下面语句即可:

pip install openpyxl
复制代码

然后在代码中导入工作簿:

from openpyxl import Workbook
复制代码

这样我们就可以开始操作了。

2、简单操作

我们来看一些简单的操作:

from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 激活
ws = wb.active
# 设置指定格的数据
ws['A1'] = 41
# 在下一行添加数据
ws.append([1, 2, 3])
# 保存
wb.save("1.xlsx")
复制代码

这里前面两步是基本操作,首先创建Workbook对象,然后调用active函数激活。然后我们通过下标的方式给指定坐标的位置添加数据。最后调用save方法保存文件。

三、文本文件转excel文件

上面的几个操作就足够我们今天的操作了,下面我们来看看如何将文本文件转换成Excel文件。

1、寻找规律

在文章开头说了,我们只能将有规律的文本文件转换成Excel,不然没有太多意义。所以我们第一步就是找规律。比如我们下面这个文件:

姓名,性别,年龄
zack,男,21
rudy,男,22
alice,女,20
atom,男, 23
复制代码

我们来看一下上面的数据,其中第一行是数据的字段。而后面几行就是真实数据了。而单个数据的属性值又由逗号隔开。这种规律非常明显,很适合我们今天的内容。不管仔细观察可以看到,逗号有中文的也有英文的,而且有的里面还包含了空格。知道这些后我们在转换的时候就需要针对性的处理一下了。

2、开始转换

首先我们要处理文本,然后再写入Excel,具体代码如下:

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
# 处理文件
with open("test.txt", "r", encoding="utf-8") as f:
    # 把逗号替换成统一的\t
    content = f.read().replace(",", "\t").replace(",", "\t")
    # 根据换行拆分内容
    lines = content.split("\n")
    # 提取标题
    titles = lines[0].split("\t")
    titles.insert(0, "")
    # 标题写入excel
    ws.append(titles)
    # 写入内容
    for i, line in enumerate(lines[1:]):
        item = line.split("\t")
        item.insert(0, i)
        ws.append(item)
wb.save("1.xlsx")
复制代码

经过上面的处理,我们就成功将文本转换成excel了,下面是结果图:

网络异常,图片无法展示
|

效果正是我们想要的,大家可以根据不同需求不同文件来修改处理的代码。

目录
相关文章
|
2月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
146 5
|
4天前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
48 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
30天前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分到不同的工作表中。本文通过一个示例代码展示了如何生成一个包含总成绩表和三个班级表的Excel文件。代码首先创建了一个包含学生姓名、班级和各科成绩的数据框,然后按班级分组,将每个班级的数据分别写入不同的工作表。最后,生成的Excel文件将包含四个工作表,分别为总成绩表和三个班级的成绩表。
32 6
按条件将Excel文件拆分到不同的工作表
|
29天前
|
Python
批量将不同的工作簿合并到同一个Excel文件
本文介绍如何使用Python的`pandas`库批量合并不同工作簿至同一Excel文件。通过模拟生成三个班级的成绩数据,分别保存为Excel文件,再将这些文件合并成一个包含所有班级成绩的总成绩单。步骤包括安装必要库、生成数据、保存与合并工作簿。
39 6
|
29天前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分为多个工作表。本文通过一个具体示例,展示了如何根据学生班级将成绩数据拆分到不同的工作表中,并生成一个包含总成绩表和各班级成绩表的Excel文件。代码简洁明了,适合初学者学习和应用。
40 6
|
2月前
|
前端开发
实现Excel文件和其他文件导出为压缩包,并导入
实现Excel文件和其他文件导出为压缩包,并导入
32 1
|
3月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
150 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
2月前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
82 4
|
3月前
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
122 6
|
3月前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。