软件测试|使用Python读取CSV文件的详细指南

简介

CSV(Comma-Separated Values)是一种常用的数据存储格式,它以逗号为分隔符将数据以文本形式存储在文件中。Python是一门强大的编程语言,提供了许多库和工具,使得读取和处理CSV文件变得非常简便。在本文中,我们将深入介绍如何使用Python读取CSV文件的详细步骤。

步骤1:导入所需的库

在开始之前,需要导入Python中处理CSV文件所需的库。Python标准库中的csv模块是一个处理CSV文件的良好选择。

import csv

步骤2:打开CSV文件

在读取CSV文件之前,需要使用Python的内置open函数打开文件。确保提供正确的文件路径,并指定文件的打开模式为读取('r')。

file_path = 'your_file.csv'with open(file_path, 'r') as csv_file:# 后续操作将在此代码块中进行

步骤3:创建CSV读取器

在打开文件后,需要创建一个CSV读取器对象,用于我们逐行读取CSV文件的内容。

with open(file_path, 'r') as csv_file:csv_reader = csv.reader(csv_file)for row in csv_reader:# 每次迭代将读取一行数据并存储在'row'变量中

步骤4:处理CSV数据

现在我们可以通过迭代CSV读取器对象来访问每一行数据。每一行数据都被解析为一个由字段组成的列表。

with open(file_path, 'r') as csv_file:csv_reader = csv.reader(csv_file)for row in csv_reader:# 您可以通过索引访问每个字段# 例如:第一个字段 row[0], 第二个字段 row[1], 依此类推# 进行您的数据处理操作,例如打印每一行数据print(row)

步骤5:使用CSV DictReader

如果CSV文件的第一行包含列标题,我们还可以使用csv.DictReader来创建一个能够返回每行数据作为字典的读取器。这样做使得我们可以通过列标题访问数据,使得代码更加清晰易读。

with open(file_path, 'r') as csv_file:csv_reader = csv.DictReader(csv_file)for row in csv_reader:# 可以通过列标题访问每个字段# 例如:row['Name'], 依此类推# 进行数据处理操作,例如打印特定字段的值print(row['Name'])

使用示例

假设我们有一个CSV文件,内容如下:

name, id, major
muller, 01, math
salah, 02, music
messi, 03, english

我们要完整读取其内容,代码如下:

import csv
# open file by passing the file path.
with open('files/data.csv', 'r') as csv_file:csv_read = csv.reader(csv_file, delimiter=',')  #Delimeter is commacount_line = 0# Iterate the file object or each row of the filefor row in csv_read:if count_line == 0:print(f'Column names are {", ".join(row)}')count_line += 1else:print(f'\t{row[0]} id is:  {row[1]} and major is: {row[2]}.')count_line += 1print(f'Processed {count_line} lines.')

运行脚本,结果如下:

Column names are name,  id,  majormuller id is:   01 and major is:  math.salah id is:   02 and major is:  music.messi id is:   03 and major is:  english.
Processed 4 lines.

总结

通过按照上述步骤,我们可以轻松地使用Python读取和处理CSV文件中的数据。无论是简单的数据分析还是复杂的数据处理,Python的CSV处理功能都能满足我们的需求。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

conda环境下cannot write keep file问题解决

1 问题描述 conda环境下执行如下命令报错: pip install githttps://github.com/wenet-e2e/wenet.git 错误信息如下: (pt) PS D:\code\ptcontainer> pip install githttps://github.com/wenet-e2e/wenet.git Looking in indexes: http://pypi.doub…

深度调光降压型 LED 恒流驱动器

一、产品描述 KP14612是一款PF>0.7的高精度、调光型LED恒流驱动控制芯片。适用于全范围交流输入电压的非隔离降压型LED恒流电源。KP14612支持PWM输入调光,最小调光深度可以达到0.1%,并且支持待机模式,待机功耗小于20mW。 ​ 二、主要特…

windows安装RabbitMq,修改数据保存位置

1、先安装Erlang, Erlang和RabbitMQ有版本对应关系。 官网RabbitMQ与Erlang版本对应RabbitMQ Erlang Version Requirements — RabbitMQ 2、安装RabbitMQ。 3、修改数据保存地址。找到安装目录下的sbin文件夹,找到rabbitmq-env.bat,编辑文件…

Windows和Linux安装jdk

一、Windows安装jdk 1、下载安装包 Jdk官网下载地址:Java Downloads | Oracle 需要登陆Oracle账号信息。 百度网盘下载地址:https://pan.baidu.com/s/1eN1PX6gKdKgwJ24CM0bDsw 提取码:4bpp 目前最新jdk的版本是21,可以下载不同…

SQL SERVER 19安装 SQL Prompt 10.02版本

SQL Prompt最新版官网下载地址:https://download.red-gate.com/SQLPromptDownload.exe 下载完成后,断开网络,全部点下一步。 注册机会报毒,安装前请先关闭杀毒软件! 下载好附件之后解压,打开SQLPrompt_7…

深入理解 Flink(六)Flink Job 提交和 Flink Graph 详解

Flink Program 编程套路回顾 1、获取执行环境对象 StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment(); 2、通过执行环境对象,注册数据源 Source,得到数据抽象 DataStream ds env.socketTextStream(...) 3、调用数…

python统计分析——小提琴图(plt.violinplot)

参考资料:用python动手学统计学,帮助文档 使用matplotlib.pyplot.violinplot()函数绘制小提琴图 小提琴图是将数值型数据的核密度图与箱线图融合在一起,具体来说是用核密度估计的结果替换了箱子,而形成的一个形似小提琴的图形。 …

openssl3.2 - 在VS2019下源码调试openssl.exe

文章目录 openssl3.2 - 在VS2019下源码调试openssl.exe概述笔记先看一个用.bat调用openssl干活的实例VS2019调试参数设置设置 - 命令参数设置 - 工作目录设置 - 环境变量将命令行中需要的文件拷贝到exe目录单步调试备注END openssl3.2 - 在VS2019下源码调试openssl.exe 概述 …

Salesforce Optimizer

Salesforce Optimizer Salesforce Optimizer是个很好的Org监控工具,是管理员的管理利器,监控内容包括: 多个触发器应用于同一个对象,这种会导致出发Apex的上限,在不能控制的执行顺序的情况下会给用户极差的体验&…

rknn加载onnx时报错 GLIBC=2.29 no found librknnc.so

rknn 中onnx转rknn在虚拟机中运行时发现报错. GLIBC2.29 no found /****/librknnc.so 昨天还正常的, 今天装了个ftp 和宝塔面板就出错了. 我估计根据报错地址, 找到了librknnc.so文件, 权限也给了777仍然不行 , 我怀疑是GLIBC的版本不对 ,网上给的方法是下载源码, 然后自己手动…

什么是Session以及如何在 NestJS 项目中的优雅管理 Session

前言 Web开发中一个常见的问题是用户身份的管理和状态保持。Session 就是处理这个问题的一个传统技术。在这篇文章中,我们将探讨Session是什么,为什么我们需要Session,以及在NestJS项目中如何优雅地管理Session。 什么是Session 众所周知&…

Java面试题之JVM

Java面试题之JVM 1. JVM的组成部分及其作用?2. JVM的堆和栈的区别?3. 简述一下垃圾回收机制?(垃圾回收的原理?)4. 垃圾回收器都有什么?该怎么选择?5. 如何判断垃圾可以回收了?6. 垃圾回收算法有…

vue3的福音框架arco.design

前言: 在vue2于2023年底正式宣布不在维护,vue3使用越来越频繁的时刻,我们实现项目的辅助框架也越来越多。element, iview, antd 等经典框架继续风靡一时,不过也有很多好的框架,功能也强大,比如我们今天说的…

Python办公自动化 – 自动化文本翻译和Oracle数据库操作

Python办公自动化 – 自动化文本翻译和Oracle数据库操作 以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自…

人机环境系统智能在开发和应用过程中需要考虑一系列风险

人机环境系统智能在开发和应用过程中需要考虑一系列风险,包括算法偏差、转移语境偏差、解释偏差以及表征和分配危害等。以下是对这些风险的简要说明: 算法偏差:人机环境系统智能的算法可能存在偏差,即在数据收集、训练和推断过程中…

Unity中URP下实现能量罩(扭曲流光花纹)

文章目录 前言一、能量罩花纹1、在属性面板接收能量罩花纹纹理2、申明 纹理 和 采样器3、在顶点着色器,应用 Tilling 和 Offset4、在片元着色器,纹理采样后,与之前的结果相乘输出 二、能量罩流光1、在顶点着色器,记录原uv值2、在片…

vue-office 支持多种文件(docx、excel、pdf)预览的vue组件库

一、文档链接 https://gitcode.com/mirrors/501351981/vue-office/overview?utm_sourcecsdn_github_accelerator&isLogin1 二、安装 #docx文档预览组件 npm install vue-office/docx vue-demi0.13.11#excel文档预览组件 npm install vue-office/excel vue-demi0.13.11#…

【软件测试】学习笔记-从0到1:API测试怎么做

这篇文章是API测试的基础,先从0到1设计一个API测试用例,通过这个测试用例,体会到最基本的API测试是如何进行的,并介绍几款常用的API测试工具。 API测试的基本步骤 通常来讲,无论采用什么API测试工具,API测…

Spring Boot - Application Events 的发布顺序_ApplicationContextInitializedEvent

文章目录 Pre概述Code源码分析 Pre Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent 概述 Spring Boot 的广播机制是基于观察者模式实现的&#xff0c…

Github

文章目录 Github 的作用基本概念创建仓库以及相关介绍创建文件、查看文件信息、编辑程序上传文件搜索文件下载/检出文件 Github 的作用 项目代码托管平台 基本概念 Repository 仓库,用于存放项目代码 *Star 收藏项目,方便下次查看(有一百个st…