Python 简易表格数据处理CSV+XLS+XLSX

news2024/10/6 2:24:43

概述

        在实际应用中我们进行数据处理与分析时,往往涉及大量的表格。一般来说,使用Python的专业数据分析处理工具包,完全可以胜任我们的大多数需求,比如Numpy+Pandas。但是有时候往往我们对表格数据的操作是很简单的,不需要太过复杂的操作,所以使用专业的数据分析工具包,有点杀鸡用牛刀的感觉。如果没有接触过专业数据分析工具,光是学习成本就不小,但是你可能仅仅需要对若干表格数据做个平均值之类的操作,属实浪费时间了。
        因而,我们针对表格操作,设计了一套非常简易的操作方案,适合小白和简单表格程序化处理。所有的二维表格数据,我们都转换为Python里面的二维列表进行操作,这种方式简单直观,易于灵活处理,最重要的是非常节省精力和时间,从而把工作重心放在关键的地方。

基础

        csv⽂件其实就是普通⽂本⽂件,遵循了⼀定的格式。常⻅的csv⽂件⼀般是⽤逗号来隔开列,⽤换⾏符隔开不同的⾏,注意这⾥的符号都是英⽂符号。因而,我们可以直接用文本处理的方式直接处理csv⽂件,但为了简单和省事,我们采用了csv库辅助处理。

图例:记事本打开csv文件

图例:WPS打开csv文件

        毫无疑问,csv文件是最简单的表格文件,xls与xlsx文件比csv文件复杂得多,但简单的表格数据处理一般不涉及复杂的表格操作,因而可以借助表格处理软件(如WPS)进行这两类表格文件的转换。

代码

import csv


# 读入CSV文件,返回二维数据列表
def ReadCSV(path):
    csv_sheet = []  # 若读取失败,则返回空列表,否则返回二维列表
    with open(path, 'r', encoding='utf-8') as f:
        data = csv.reader(f)
        for row in data:
            csv_sheet.append(row)
    return csv_sheet


# 写出CSV文件,传递输出路径和二维数据列表
def WriteCSV(path, csv_sheet):
    with open(path, 'w', newline="") as f:
        data = csv.writer(f)
        for row in csv_sheet:
            data.writerow(row)
        return True
    return False


sheet_in = ReadCSV("input.csv")
print(sheet_in)
sheet_out = [[1, 2, 3], [3, 2, 1]]
result = WriteCSV("output.csv", sheet_out)
if not result:
    print("文件写出失败!")

运行

附属

input.csv文件内容:

姓名,年龄,性别
张三,15,男
小红,17,女
李四,19,男

output.csv文件内容

1,2,3
3,2,1

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

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

相关文章

git常用记录

一些日常使用记录 常用命令 切换分支 在git checkout 分支名查看分支 git branch -r git branch -a //查看所有分支包括本地分支和远程分支合并分支 git merge 来源分支删除分支 git branch -D 分支名 //删除本地分支 git push origin --delete 分支名 //删除远程分支本…

ES6新特性总结

最近,在面试中也是经常被问道ES6关于新特性的面试题,那我也来个总结,记录下。 ES6新特性总结 let、const命令(1)let(2)const 模板字符串增强的函数(1)函数的参数可以设置…

6.4.4 GLSL实现奶牛颜色动态变化

#include <osg/Program> #include <osgDB/ReadFile> #include <osgViewer/Viewer>static const char* vertSource {"varying vec3 normal;\n"//易变量 用于着色器之间的传值"void main()\n""{\n"" normal normalize…

Kscan-简单的资产测绘工具

下载地址&#xff1a;https://github.com/lcvvvv/kscan 简介 &#xff1a; Kscan是一款纯go开发的全方位扫描器&#xff0c;具备端口扫描、协议检测、指纹识别&#xff0c;暴力破解等功能。支持协议1200&#xff0c;协议指纹10000&#xff0c;应用指纹20000&#xff0c;暴力破…

UNI-APP_subNVue原生子窗口使用,web-view层级问题解决

subNVues文档 app-subnvues文档 subNVues开发指南 需求&#xff1a;在pages/cloud_control/index页面使用subNVue原生子窗口 1.pages文件配置 "app-plus": {"bounce": "none","subNVues":[{"id": "control_popup&qu…

Mongodb基础及应用、部署(超详细)

目录 一、简介 二、应用场景 三、概念 四、安装部署 1、关闭防火墙和selinux 2、指定一个进程同一时间最多可开启的文件数 3、用户最多可开启的进程数目 4、安装版本下载地址 5、创建数据目录&#xff0c;日志文件及目录并创建相应配置文件 6、启动MongoDB数据库&#xff0c…

接口自动化你一定能要知道的基本流程和测试思路

接口自动化大致步骤&#xff1a; 1、发送请求 2、解析结果 3、验证结果 定义三个和业务相关的类 1、一个用来封装HTTPclient&#xff0c;用来发送请求 2、解析结果xml的类 3、一个用于比较测试结果和期望值的类&#xff0c;用于验证 4、自动生成报告的类&#xff1a;自…

Nerf-Wild代码学习笔记Neural Radiance Fields for Unconstrained Photo Collections

前言&#xff1a; 本文为记录自己在Nerf学习道路的一些笔记&#xff0c;包括对论文以及其代码的思考内容。公众号&#xff1a; AI知识物语 B站讲解&#xff1a;出门吃三碗饭 本篇文章主要针对其代码来学习其内容&#xff0c;关于代码的理解可能会有出入&#xff0c;欢迎批评指…

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

首先&#xff0c;简单介绍一下&#xff0c;性能测试平台P-One。 PerformanceOne&#xff08;简称&#xff1a;P-One&#xff09;是泽众软件自主研发的一套一站式性能测试平台软件产品。 该产品采用 B/S 架构开发&#xff0c;实现了集管理、设计、压测、监控以及分析于一体的全方…

(06)ATF代码导读之BL31

代码导读 关于平台相关的代码和函数均以qemu实现解读。 BL31 在BL2中触发安全监控模式调用后会跳转到BL31中执行&#xff0c;同理复位的入口函数为bl31_entrypoint。BL31最主要的两个功能&#xff1a;作为启动流程&#xff0c;初始化硬件和加载BL32、BL31等&#xff1b;启动…

scratch 角色移动

scratch 角色移动 这是本人的第一个scratch程序。入坑scratch是因为希望体验一下图形化编程并制作以动画为主的图形化程序。用的软件是Mind。Mind是由scratch改编的开源IDE&#xff0c;可以图形化开发Arduino程序&#xff0c;本人使用Mind的另一个原因是Mind提供快捷地在OLED屏…

【数据库】MySQL安装(最新图文保姆级别超详细版本介绍)

1.总共两部分&#xff08;第二部可省略&#xff09; 安装mysql体验mysql环境变量配置 1.1安装mysql 1.输入官网地址https://www.mysql.com/ 下载完成后&#xff0c;我们双击打开我们的下载文件 打开后的界面&#xff0c;如图所示 我们选择custom&#xff0c;点击nex…

ModaHub魔搭社区:腾讯云向量数据库为什么以独立产品形式推出?

自今年大模型趋势发生以来&#xff0c;向量数据库领域备受关注。 今年3月以后&#xff0c;多家向量数据库厂商拿下最新融资&#xff0c;其中Pinecone更是获得高达1亿美元的B轮融资。 腾讯云当然也注意到了这一趋势。 腾讯云数据库副总经理罗云表示&#xff0c;当时内部已经开…

华为OD机试真题 Java 实现【网上商城优惠活动(一)】【2022 Q4 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、补充说明五、Java算法源码六、效果展示1、输入2、输出3、说明 一、题目描述 某网上商城举办优惠活动&#xff0c;发布了满减、打折、无门槛3种优惠券&#xff0c;分别为&#xff1a; 1.每满100元优惠10元&#xff0c;无使用数限…

技术思维vs管理思维 程序员与项目经理5大思维差异

软件项目中&#xff0c;项目经理出身于程序员的情况较多&#xff0c;这样的项目经理在技术上拥有优势&#xff0c;但作为程序员的技术思维和作为项目经理的管理思维区别较大。因此如果不及时转换思维&#xff0c;往往造成过于纠结项目细节、忽视工期和成本压力&#xff0c;从而…

vmware虚拟机的12个使用技巧

1、增加虚拟机可用的物理内存 关闭虚拟机&#xff0c;设置内存&#xff1a; 2、硬件设备添加 一直选择下一步&#xff0c;直到这个界面进行磁盘大小分配&#xff1a; 3、控制权的切换 由于VMware的工作特点是在一台计算机中同时运行多个操作系统&#xff0c;因此这就存在一个…

排序算法-整理

1.【数据结构】带你玩转排序&#xff1a;堆排序、希尔排序、插入排序、选择排序、冒泡排序、快排(多版本)、归并排序 【数据结构】带你玩转排序&#xff1a;堆排序、希尔排序、插入排序、选择排序、冒泡排序、快排(多版本)、归并排序http://t.csdn.cn/fCXSo 2.十大基础算法 …

培训小程序首页开发

目录 1 定义变量2 欢迎语搭建3 分类导航搭建4 搭建底部导航总结 我们本篇来开发一下我们小程序的首页&#xff0c;先看一下原型 1 定义变量 因为我们首页展示的分类信息&#xff0c;现在分类信息已经存到了数据源里&#xff0c;我们要通过变量读取出来。 先打开我们创建的自…

Zabbix之部署

Zabbix 6.0 一.Zabbix介绍 1.zabbix 的含义 zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案zabbix 能监视各种网络参数&#xff0c;保证服务器系统的安全运营&#xff1b;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各…

matlab用histfit画直方图+拟合曲线

matlab画直方图拟合曲线 成图效果1 数据格式2 绘制步骤3 后话 成图效果 1 数据格式 应该准备一个double的数组&#xff0c;如果是csv或者xlsx直接拖进matlab是table型&#xff0c;这是无法作为绘图参数的 如果是table型&#xff0c;可以使用table2array(data)进行转换 2 绘制…