【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;一起对抗互联网寒冬 学习必须往深处挖&…

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

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

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…

SpringBoot 入门教程

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

【计算机组成原理】期末复习试卷

目录 第一套试卷 第一套答案 第二套试卷 第二套答案 第三套试卷 第四套试卷 剩余试卷下载 第一套试卷 一、选择题&#xff08;共20分&#xff0c;每题1分&#xff09; 1&#xff0e;冯诺伊曼机工作方式的基本特点是______。 A&#xff0e;多指令流单数据流&#xff1b; B&#…

03MARL-联合策略与期望回报

文章目录 前言一、MARL问题组成二、联合策略与期望回报1.History-based expected return2.Recursive expected return 前言 多智能体强化学习问题中的博弈论知识——联合策略与期望回报 一、MARL问题组成 二、联合策略与期望回报 定义一种普遍的期望回报&#xff0c;能够用于…

多线程——阻塞队列

什么是阻塞队列 相比于一般的队列&#xff0c;有两个特点 1.线程安全 2.带有阻塞功能 1&#xff09;队伍为空时&#xff0c;出队列就会出现阻塞&#xff0c;阻塞到其他线程入队列为止 2&#xff09;队伍为满时&#xff0c;入队列就会出现阻塞&#xff0c;阻塞到其他线程出队列…

九州金榜|15岁初三男孩抑郁休学摆烂打游戏,高压教育要不得!

有一次和朋友一块聚餐&#xff0c;邻座是一位妈妈、和她大概七八岁的儿子&#xff0c;小男孩长得很帅气&#xff0c;没有像同龄人那样调皮捣乱&#xff0c;而是和妈妈很温馨的就餐。 看的出来一家人的素质很高&#xff0c;就餐过程中桌面保持的很整洁&#xff0c;交流声音也不…

你和家酿啤酒的距离,只差一台爱咕噜智能啤酒机

喝过工业啤酒&#xff0c;喝过精酿啤酒&#xff0c;但是你喝过在家自酿的啤酒吗&#xff1f; 啤酒是世界上消耗较多的饮料之一&#xff0c;而我国的啤酒年消耗量位居世界第一。近年来&#xff0c;随着越来越多的精酿啤酒涌入市场&#xff0c;精酿啤酒的概念与文化被更多消费者…

揭秘小米手机被疯狂吐槽的存储扩容技术

前段时间&#xff0c;在小米14的发布会上&#xff0c;雷布斯公布了名为“Xiaomi Ultra Space存储扩容”的技术&#xff0c;号称可以在512G的手机中再搞出来16G&#xff0c;256G的手机中再搞出8G。对于普通用户来说&#xff0c;能多得一些存储空间&#xff0c;无异是个很好的福利…

PID横向控制和仿真实现

文章目录 1. PID介绍2. PID横向控制原理3. 算法和仿真实现 1. PID介绍 PID是一种常见的控制算法&#xff0c;全称为Proportional-Integral-Derivative&#xff0c;即比例-积分-微分控制器。PID控制器是一种线性控制器&#xff0c;它将设定值与实际值进行比较&#xff0c;根据误…