Python读取CSV文件的几种方法!

news2024/9/20 18:34:07

1、使用 csv 模块

首先,你需要导入`csv`模块:

import csv

接下来,你可以使用`csv.reader()`函数来读取CSV文件。假设你的CSV文件名为`data.csv`,它的内容如下:

Name, Age, Salary
John, 25, 5000
Alice, 30, 6000
Bob, 35, 7000

你可以按照以下方式读取CSV文件中的数据:

with open('data.csv') as file:
csv_reader = csv.reader(file)
for row in csv_reader:
print(row)

这段代码会一行一行地读取CSV文件中的数据,并将每一行的数据以列表的形式打印出来。对于上述的CSV文件,执行以上代码会得到以下结果:

['Name', ' Age', ' Salary']
['John', ' 25', ' 5000']
['Alice', ' 30', ' 6000']
['Bob', ' 35', ' 7000']

你也可以选择性地跳过CSV文件的第一行标题行,使用`next()`函数实现:

with open('data.csv') as file:
csv_reader = csv.reader(file)
next(csv_reader) # 跳过标题行
for row in csv_reader:
print(row)

执行以上代码,就会得到排除标题行的结果:

['John', ' 25', ' 5000']
['Alice', ' 30', ' 6000']
['Bob', ' 35', ' 7000']

除了`csv.reader()`函数,你还可以使用`csv.DictReader()`函数来读取CSV文件,并将每行数据作为一个字典返回。这样,在循环中你可以通过键名来访问每个字段的值:

with open('data.csv') as file:
csv_reader = csv.DictReader(file)
for row in csv_reader:
print(row['Name'], row['Age'], row['Salary'])

以上代码会输出每个人的姓名、年龄和薪水:

John 25 5000
Alice 30 6000
Bob 35 7000

2.使用 numpy 库

可以使用numpy库中的genfromtxt函数来读取CSV文件,下面是一个示例代码:

import numpy as np
# 读取CSV文件
data = np.genfromtxt('data.csv', delimiter=',')
# 打印读取的数据``print(data)

在上述代码中,genfromtxt函数接收两个参数:文件名和分隔符。你可以将data.csv替换为你要读取的CSV文件的路径。默认情况下,genfromtxt函数会假设CSV文件中的数据都是浮点数,并且会自动处理缺失数据。如果你想指定数据类型或处理其他选项,可以在函数调用中设置相应的参数。

3.pandas库

pandas库读取CSV文件非常方便。下面是一个示例代码:

import pandas as pd
# 读取CSV文件
data = pd.read_csv('data.csv')
# 打印读取的数据``print(data)

这就是使用Python读取CSV文件的方法。你可以根据实际的情况对读取到的数据进行处理和分析。

最后 如果你对Python感兴趣的话,可以试试我整理的这份Python全套学习资料,【点击这里】领取!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便******

在这里插入图片描述

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

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

相关文章

书生浦语实训营-InternVL 多模态模型部署微调实践

1.什么是InternVL InternVL 是一种用于多模态任务的深度学习模型,旨在处理和理解多种类型的数据输入,如图像和文本。它结合了视觉和语言模型,能够执行复杂的跨模态任务,比如图文匹配、图像描述生成等。 2.InternVL模型介绍 对于…

【自由能系列(初级)】生命负熵——熵增原理与生命秩序的对抗

【通俗理解】生命负熵——熵增原理与生命秩序的对抗 关键词提炼 #生命负熵 #熵增原理 #生命秩序 #薛定谔方程 #熵减过程 #热力学第二定律 #信息熵 #生命系统建模 #负熵流 #熵平衡 第一节:生命负熵的类比与核心概念 1.1 生命负熵的类比 生命负熵可以被视为生命系…

如何打造免费体育馆场地预约系统?php vue技术实现,简易操作指南

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

Unity(2022.3.41LTS) - 脚本

目录 零.简介 一、脚本的基本概念 二、脚本的创建和使用 三、脚本的编程基础 四、与 Unity 引擎的交互 五、重要的类介绍 六、事件函数介绍 七、事件函数的执行顺序 八、脚本的优化和调试 零.简介 在 Unity 中,脚本是实现游戏逻辑和交互的重要组成部分。 …

后台框架-统一数据格式2

在上一篇中,当在Controller类中需要返回统一格式的数据时,需要实例化一个R,有时候觉得还是不够简洁,那有没有一种方法Controller中直接返回对象,但是返回的对象统一保存到如下格式的data中? ResponseBody…

P9343 一曲新词酒一杯

import java.util.Scanner;public class Main {static int fun(Scanner sc) {int n, m;int res -1;int k 0;n sc.nextInt();// n个杯子m sc.nextInt();// m次操作boolean[] a new boolean[n];boolean[] v new boolean[n];for (int i 0; i < m; i) {int o, x;o sc.ne…

科研绘图系列:R语言组合图形绘图

介绍 柱状图、箱线图和棒棒图组合 加载R包 # Library library(ggplot2) library(dplyr) library(forcats)读取数据 data <- data.frame(name=c("north","south","south-east","north-west","south-west","north…

【Pytorch】一文向您详尽解析 with torch.no_grad(): 的高效用法

【Pytorch】一文向您详尽解析 with torch.no_grad(): 的高效用法 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高…

机器学习与人工智能在未来建筑行业的应用:项目案例与分析

作者主页: 知孤云出岫 目录 作者主页:前言1. 项目背景1.1 行业挑战1.2 人工智能与机器学习的引入 2. 项目案例&#xff1a;智能建筑能耗管理系统2.1 项目介绍2.2 技术实现2.2.1 数据采集与预处理2.2.2 能耗预测模型构建2.2.3 控制策略优化 2.3 实施效果 3. 其他应用案例3.1 建…

产品经理角度分析:朋友圈点赞与评论仅共同好友可见

你有没有在刷朋友圈时&#xff0c;看到某位朋友发了条状态&#xff0c;下面一堆点赞和评论&#xff0c;然后他自己来个“统一回复下&#xff0c;感谢大家”&#xff1f; 这种现象就像是在朋友圈里开了个小型新闻发布会&#xff0c;大家在台下疯狂举手&#xff0c;结果发言人最后…

揭秘排行榜系统:如何在高并发场景下实现高效更新!

大家好,我是你们的技术分享伙伴小米!今天我们来聊聊一个非常有趣的话题——如何设计一个排行榜。在这个互联网时代,无论是游戏、学习平台,还是各种社交应用,排行榜都是用户互动和竞争的核心功能之一。而如何设计一个高效、实时更新的排行榜,是一个充满挑战性的问题。今天…

约瑟夫环和一元多项式

约瑟夫环 一、问题描述 假设有 n 个人围成一圈&#xff0c;从第一个人开始报数&#xff0c;报数到 m 的人将被淘汰出圈&#xff0c;然后从下一个人开始继续从 1 报数&#xff0c;如此重复&#xff0c;直到最后只剩下一个人。求最后剩下的这个人的编号。 二、问题分析 可…

最新Vmware17的WIn10虚拟机开箱即用,免安装

这篇文章分享的Vmware安装Win10的教程&#xff0c;如过有些懒得装Win10的同学可以会直接使用我的WIn10镜像压缩包打开即可 Win10镜像压缩包下载 tips&#xff1a;⬆️⬆️包含Vmware17安装包 使用方法&#xff0c;打开Vmware

Native开发与逆向第五篇 - hook log打印

开发demo 新建native项目&#xff0c;实现log打印字符串。 下载地址&#xff1a;https://download.csdn.net/download/u013170888/89698015 #include <android/log.h> #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, "JNI_LOG", __VA_ARGS__)exte…

TQRFSOC开发板47DR ADC输入采集环境搭建(一)

本章内容实现在ubuntu18.04与20.04系统中&#xff0c;搭建RFSOC ADC采样解析应用的环境搭建与测试。 第一步&#xff0c;安装所需要的apt包&#xff0c;需要的软件有&#xff1a;python-tk&#xff0c;virtualenv和python&#xff0c;在ubuntu20.04系统中python需要安装python2…

Nginx: 高可用和与虚拟路由冗余协议VRRP原理

Nginx 服务的高可用 1 &#xff09;服务可用 假定是这样一个最传统的一个CS模式的一个客户服务器模式 这里有用户和一台服务器服务器可能是mysql, 也可能是webserver, 或其他服务器 想实现服务可用的一个三要素 1.1 ) server 需要公网的ip地址以及申请一个域名1.2 ) 需要服务软…

Vue3 进阶教程:一文详解 el-table 组件的二次封装技巧!

开发后台管理系统&#xff0c;在业务上接触的最多就是表单&#xff08;输入&#xff09;和表格&#xff08;输出&#xff09;了。对于使用 Vue 框架进行开发的同学来说&#xff0c;组件库 Element 是肯定会接触的&#xff0c;而其中的 el-table 和 el-form 更是管理系统中的常客…

华为云征文|华为云Flexus X实例docker部署srs6并调优,协议使用webrtc与rtmp

华为云征文&#xff5c;华为云Flexus X实例docker部署srs6并调优&#xff0c;协议使用webrtc与rtmp 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体验跃级、面向中小企业和开发者打造的高品价比云服务产品。Flexus云服务器X实例是新一代面向中小企业…

MES系统如何实现产品追溯功能

MES系统&#xff08;Manufacturing Execution System&#xff0c;制造执行系统&#xff09;的产品追溯功能是现代制造业中不可或缺的一部分&#xff0c;它通过记录和分析生产过程中产生的数据&#xff0c;实现了对产品、原材料、设备等信息的追踪和溯源。以下是对MES系统产品追…

网络安全的历史

如今&#xff0c;网络安全几乎成为各大公司和利益相关者关注的焦点。但在早期&#xff0c;网络安全的概念非常模糊。 直到多年以后&#xff0c;由于网络攻击和危险实体威胁的频繁发生&#xff0c;网络安全的发展才受到重视。这些措施的发展成为了网络安全的演变。 网络安全起…