【Python数据分析系列】实现txt文件与列表(list)相互读写转换(源码+案例)

这是Python数据分析系列原创文章,我的第199篇原创文章。

一、问题

      平时在做数据分析或者程序开发的时候,需要将中间的一些结果或最后的处理结果保存下来,比如保存为txt格式的文本文件,这就涉及列表与txt之间的一种读取和写入操作,本文将用一个简单的例子来实现。

二、一维列表与txt读写转换

2.1 一维列表写入txt文件

将一维列表data中的每个元素写入文件中,每个元素占一行:

data = [1, 2, 3, 4, 5]with open("output1.txt", "w") as file:for item in data:file.write(str(item) + "\n")

上述代码将创建一个名为output1.txt的文本文件,并将列表data中的每个元素写入文件中,每个元素占一行。open("output1.txt", "w")用于打开文件,"w"表示以写入模式打开文件。with open(...) as file:语句用于自动管理文件的打开和关闭,确保在使用完文件后正确关闭它。

for item in data循环遍历列表中的每个元素,并使用file.write(...)将每个元素写入文件。str(item)将元素转换为字符串形式,"\n"表示换行符,用于将每个元素写入文件的不同行。

执行上述代码后,将在当前目录下创建一个名为output.txt的文本文件,并将列表中的元素写入文件中。

图片

需要注意的是,如果列表中的元素不是字符串类型,需要使用适当的方法将其转换为字符串形式,以便写入文件。在上面的示例中,使用str(item)将元素转换为字符串。

2.2 读取txt文件为一维列表

逐行读取文件内容,写入列表:

with open("output1.txt", "r") as file:data = file.read().splitlines()print(data)

首先使用open("output1.txt", "r")打开名为input.txt的文本文件,以读取模式打开文件。然后,file.read()方法将整个文件内容作为一个字符串读取出来。接下来,splitlines()方法将字符串按行分割,并返回一个包含每行内容的列表。

执行上述代码后,将读取名为output1.txt的文本文件,并将文件中的每一行作为列表的一个元素存储在data中。

图片

请注意,如果文件非常大,一次性读取整个文件内容可能会占用大量内存。在处理大型文件时,可能需要考虑逐行读取或使用其他适当的方法来处理文件内容。

三、二维列表与txt读写转换

3.1 二维列表写入txt文件

将二维列表data中的每个元素写入文件中,每个元素占一行:

data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]with open("output2.txt", "w") as file:for row in data:for item in row:file.write(str(item) + ' ')file.write('\n')

运行以上代码后,将会在当前目录下生成一个名为"output2.txt"的文件,其中包含二维列表的数据。每行表示二维列表中的一行,每个元素之间使用空格分隔。请注意,上述代码将数据以空格分隔并写入文件,如果你需要使用其他分隔符,可以在write()方法中修改。

图片

3.2 读取txt文件为二维列表

读取txt文件,输出为二维列表,每个元素为一行:

with open('output2.txt', 'r') as file:lines = file.readlines()data = []for line in lines:row = line.strip().split(' ')data.append(row)

lines:

图片

data:

图片

使用readlines()方法读取文件的所有行,并将其存储在一个列表中。遍历行列表,使用split()方法将每行按照指定的分隔符(如空格)分割为多个元素,并将其存储在二维列表中。请注意,上述代码假设每行数据以空格分隔。如果你的文件中使用其他分隔符,可以在split()方法中修改分隔符参数。另外,strip()方法用于去除每行开头和结尾的空白字符,以确保数据的准确性。

作者简介:

读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。需要数据集和源码的小伙伴可以关注底部公众号添加作者微信!   

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

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

相关文章

spring cloud feign demo

1. 工程结构 2. 父工程pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.…

JVM实战(17)——模拟对象晋升

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 学习必须往深处挖&…

django中orm模型类多种用法

模型准确且唯一的描述了数据。它包含您储存的数据的重要字段和行为。一般来说&#xff0c;每一个模型都映射一张数据库表。 每个模型都是一个 Python 的类&#xff0c;这些类继承 django.db.models.Model模型类的每个属性都相当于一个数据库的字段。利用这些&#xff0c;Djang…

(每日持续更新)jdk api之FileInputStream基础、应用、实战

博主18年的互联网软件开发经验&#xff0c;从一名程序员小白逐步成为了一名架构师&#xff0c;我想通过平台将经验分享给大家&#xff0c;因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验&#xff0c;晚上进行用心精简、整理、总结、定稿&…

将PDF发票转换为excel、xml结构化数据的完美解决方案

随着电子发票的普及&#xff0c;越来越多的企业和个人开始使用PDF格式的电子发票。然而&#xff0c;有时我们需要将电子发票转换为XML格式以便于处理和分析。本文将介绍如何将收到的PDF发票下载为excel、xml文件。首先&#xff0c;我们需要明确一点&#xff0c;PDF是一种基于图…

1. FPGA概述

文章目录 1. 什么是FPGA2. 学习FPGA有什么用3. 学习FPGA需要何种先决条件 1. 什么是FPGA 这个问题太low了&#xff0c;身处数字时代&#xff0c;从事电子信息行业&#xff0c;居然不知道FPGA&#xff1f;岂非笑谈&#xff1f; 介绍FPGA的资料太多了&#xff0c;还是从它的字面…

Could NOT find Threads (missing: Threads_FOUND)

具体错误 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for…

C#编程-属性和反射

属性和反射 属性是将元数据信息和行为添加到应用程序代码中的简单技术。属性是允许您将声明信息添加到程序的元素。此声明信息在运行时用途广泛,可使用应用程序开发工具在设计时使用。 介绍属性 对象是由其属性值描述的。例如,汽车可以使用它的构造、型号或颜色来描述。类似…

ART-Adversarial Robustness Toolbox检测AI模型及对抗攻击的工具

一、工具简介 Adversarial Robustness Toolbox 是 IBM 研究团队开源的用于检测模型及对抗攻击的工具箱&#xff0c;为开发人员加强 AI模型被误导的防御性&#xff0c;让 AI 系统变得更加安全&#xff0c;ART支持所有流行的机器学习框架 &#xff08;TensorFlow&#xff0c;Ker…

SpringMVC RESTful案例

文章目录 1、准备工作2、功能清单3、具体功能&#xff1a;访问首页a>配置view-controllerb>创建页面 4、具体功能&#xff1a;查询所有员工数据a>控制器方法b>创建employee_list.html 5、具体功能&#xff1a;删除a>创建处理delete请求方式的表单b>删除超链接…

Web3社交治理:用户参与决策的新模式

Web3时代的到来不仅仅带来了区块链技术的创新&#xff0c;还为社交治理带来了全新的模式。传统社交平台上的决策权通常集中在平台的运营方&#xff0c;而Web3社交治理的兴起意味着用户能够更直接地参与到社交平台的决策过程中。本文将深入探讨Web3社交治理的背景、工作原理以及…

帆软笔记-决策表报对象使用(两表格联动)

效果描述如下&#xff1a; 数据库中有个聚合商表&#xff0c;和一个储能表&#xff0c;储能属于聚合商&#xff0c;桩表中有个字段是所属聚合商。 要求帆软有2个表格&#xff0c;点击某个聚合商&#xff0c;展示指定的储能数据。 操作&#xff1a; 帆软选中表格单元&#xf…

C语言实现动态数组

1.mj版本的动态数组 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #define DEFAULT_CAPACITY 10 #define ELEMENT_NOT_FOUND -1 // 定义全局变量 // 数组元素个数 int size 0; // 初始化动态数组 int* initArray(int capacity) {// 如果…

es5和es6的区别

ES5 和 ES6 的区别 ECMAScript5&#xff0c;即 ES5&#xff0c;是 ECMAScript 的第五次修订&#xff0c;于 2009 年完成标准化 ECMAScript6&#xff0c;即 ES6&#xff0c;是 ECMAScript 的第六次修订&#xff0c;于 2015 年完成&#xff0c;也称 ES2015 ES6 是继 ES5 之后的一…

SpringBoot 入门教程

1.复习SSM项目中&#xff0c;用spring&#xff0c;mybatis,springmvc这三个框架整合的项目。 SSM项目的所有类&#xff0c;这是用SSM整合一个搜索书籍种类和呈现的前端和后端的ssm的小项目。 2.springboot如何去开发这个页面&#xff1a; 新建springboot项目&#xff0c;勾选对…

<软考高项备考>《论文专题 - 68 质量管理(7) 》

7 管理关系论文解析 7.1 项目质量与进度、成本、范围之间的密切关系。&#xff08;2018年上&#xff09; 在项目管理三角形中&#xff0c;质量位于进度&#xff0c;成本&#xff0c;范围的中间的位置。 规划质量管理的输入中有需求文件&#xff0c;也就是说先有范围有需求的基…

MeshLab生成分形地形

文章目录 分型地形脊状多重分形其他地形 分型地形 分形地形是一种较为复杂的几何对象&#xff0c;MeshLab提供了下列五种地形生成算法&#xff0c;并且贴心地给出了每种算法相对较好的参数。 算法SeedOctaves缺项性分形增量偏移增益fBM(fractal Brownian Motion)11021.2--Sta…

【WPF.NET开发】WPF中的版式

本文内容 改进的文本质量和性能丰富的版式增强的国际文本支持增强的字体支持新的文本应用程序编程接口 (API) 本主题介绍 WPF 的主要版式功能。 这些功能包括改进的文本呈现质量和性能、OpenType 版式支持、增强的国际文本、增强的字体支持和新的文本应用程序编程接口 (API)。…

VUE好看的个人博客源码

文章目录 1.设计来源1.1 首页界面1.2 我的日记界面1.3 我的文章界面1.3.1 文章列表1.3.2 文章时间轴1.3.3 文章详细 1.4 我的相册界面1.5 我的源码界面1.6 认识我界面 2.效果和源码2.1 动态效果2.2 源码目录结构 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https:/…

从头安装与使用一个docker GPU环境

GPU版docker的安装与使用 欢迎使用GPU版docker安装使用说明使用官方教程安装docker新建一个GPU版docker环境调用docker环境执行本地python文件 欢迎使用GPU版docker安装使用说明 使用官方教程安装docker 导入源仓库的GPG key curl -fsSL https://download.docker.com/linux/…