【python csv、Excel、json】零基础也能轻松掌握的学习路线与参考资料

news2024/12/23 23:10:21

在这里插入图片描述

CSV、Excel、JSON 是常用的数据存储格式,分别在不同的场景下有其特点和应用。下面将从以下几个方面进行比较:格式、特点、应用场景和优秀实践。

1.格式

CSV(Comma-Separated Values,逗号分隔值)格式是一种以纯文本形式存储表格数据的简单文件格式,其中逗号作为字段分隔符,不支持多个表格和复杂数据类型,常用扩展名为.csv。

Excel 是 Microsoft 公司开发的电子表格软件,它以 .xlsx/.xls 格式存储数据,支持多个表格和复杂数据类型,同时也支持宏和插件功能。

JSON(JavaScript Object Notation,JavaScript 对象表示法)是一种轻量级的数据交换格式,常用于前后端数据传输,其数据格式为键值对,常用扩展名为.json。

2.特点

CSV 格式直接以文本文件形式存储数据,没有特殊类型、格式和样式,因此文件体积小、读取速度快、易读易写、跨平台通用,适合存储简单数据和进行数据迁移等操作。

Excel 格式支持复杂的数据类型和样式,可以进行高级数据处理、图表数据可视化、数据验证、数据透视表等操作,但文件体积大、读取速度慢、容易被病毒感染,需要Microsoft Office 软件支持,适合存储复杂数据和进行数据分析等操作。

JSON 格式轻量、跨语言、易读易写、支持复杂数据类型和嵌套结构,是目前较为流行的前后端数据传输格式,支持Ajax请求、RESTful API传输等操作,适合存储和传输数据、API接口开发等操作。

3.应用场景

CSV 格式适合存储简单数据,如文本数据、电子邮件地址、联系人列表、简单的数据表格等数据,其扩展名常见于电子表格应用程序和数据库导出操作。

Excel 格式适合存储大量数据、进行数据分析、处理、图表可视化等操作,常用于财务制表、销售报告、统计报告等场景中。

JSON 格式适合前后端数据传输、API接口开发、移动应用和Web应用中的数据存储和数据交换等操作。

4.优秀实践

4.1. CSV

在Python 中,使用pandas库可以方便地读取、写入CSV文件,示例如下:

import pandas as pd

# 读取CSV文件
df = pd.read_csv('data.csv')

# 写入CSV文件
df.to_csv('data.csv', index=False)

在R语言中,使用readr库可以将CSV文件读取为数据框对象,示例如下:

library(readr)

# 读取CSV文件(默认值)
df = read_csv("data.csv")

# 写入CSV文件
write_csv(df, "data.csv")

4.2. Excel

在Python 中,使用pandas库可以方便地读取、写入Excel文件,示例如下:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('data.xlsx')

# 写入Excel文件
df.to_excel('data.xlsx', index=False)

在R语言中,使用readxl库可以将Excel文件读取为数据框对象,示例如下:

library(readxl)

# 读取Excel文件
df = read_xlsx("data.xlsx")

# 写入Excel文件
write_xlsx(df, "data.xlsx")

4.3. JSON

在Python 中,将一个字典对象保存为 JSON 文件很简单,示例如下:

import json

# 将字典序列化为 JSON
obj = {'name': 'Tom', 'age': 26}
json.dump(obj, open('data.json', 'w'))

# 从 JSON 中读取数据
with open('data.json', 'r') as f:
    obj = json.load(f)

在JavaScript 中,可以使用JSON.parse()和JSON.stringify()方法进行 JSON 字符串和 JavaScript 对象之间的转换,示例如下:

// 将对象序列化为JSON字符串
var obj = {name: "Tom", age: 26};
var str = JSON.stringify(obj);

// 将 JSON 字符串反序列化为对象
var obj = JSON.parse(str);

5.参考资料

  • Comma-separated values, Wikipedia, https://en.wikipedia.org/wiki/Comma-separated_values
  • JSON, Wikipedia, https://en.wikipedia.org/wiki/JSON
  • What’s the Difference Between CSV vs Excel vs JSON?, KeyCDN blog, https://www.keycdn.com/blog/csv-vs-excel-vs-json
  • A Comprehensive Guide on Reading and Writing CSV files in Python, Towards Data Science, https://towardsdatascience.com/a-comprehensive-guide-to-reading-and-writing-csv-files-in-python-7ef1f9df2068
  • Data Manipulation in R: Reading and Writing Excel, CSV, and Text Files, DataCamp, https://www.datacamp.com/community/tutorials/data-manipulation-r-excel-csv-text-file

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

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

相关文章

Contrastive Triplet Center Loss

Contrastive Loss background: 最直接的想法是我们假设存在一个损失函数,它满足如下的基本准则 近似样本之间的距离越小越好不似样本之间的距离越大越好 相似样本的坐标被放的越来越远,不似样本之间的距离越来越大,但训练的目标…

V神透露以太坊发展规划 未来十年,zkS将与区块链一样重要

作为加密世界,除中本聪外颇为“传奇”的人物,以太坊联合创始人V神眼光向来毒辣,在加密领域、区块链产业取得诸多“卓著”成绩。 在近期举行的EDCON 2023盛会上,V神透露了以太坊2.0的最新进展和未来规划,以及他对以太坊…

MySQL之索引初步

1. 索引概念 数据库是⽤来存储数据,在互联⽹应⽤中数据库中存储的数据可能会很多(⼤数据), 数据表中数据的查询速度会随着数据量的增⻓而逐渐变慢 ,从⽽导致响应⽤户请求的速度变慢——⽤户体验差,我们如何提⾼数据库的查询效率呢…

射频电容物位开关电容传感器的分类与应用

​射频电容物位开关电容传感器是一种常见的物位检测装置,广泛应用于粉状物料、液体、颗粒物料等不同类型的物料的检测和控制。本文将对射频电容物位开关电容传感器的分类和应用进行详细介绍。 一、射频电容物位开关电容传感器的工作原理 射频电容物位开关电容传感…

perl 通过 swig 调用 c++代码

Swig 是一个软件开发工具,可以简化不同语言与 C/C 的交互(直接在其它语言的代码中调用 C/C 的代码)。   记录一下成功用 perl 调用 c 代码的例子。 环境 操作系统:centos 7.9 perl: version 5.16.3 swig: version 2.0.10 g: v…

C++中map的用法

博主简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的人。 博主主页:陈童学哦 所属专栏:CSTL 前言:Hello各位小伙伴们好!欢迎来到本专栏CSTL的学习,本专栏旨在帮助大家了解…

接口测试五个重要测试点

一、功能测试 接口的功能是否实现、接口是否按照设计文档实现(如:username参数写成了user)———接口文档是在整个开发中使用,所以接口设计要与接口文档的设计保持一致。 1、兼容性测试:如:接口进行了调整…

【ACM训练】2023 河南 CCPC省赛 vp

2023 河南 CCPC省赛 题目链接 VP赛况: 目录 2023 河南 CCPC省赛赛况及总结赛况总结 补题 赛况及总结 赛况 开场:我提前打印了题册,于是我们开始分开看题目,我先看了A,发现很签,遂上机,8 m…

【软考系统规划与管理师笔记】第1篇 信息系统综合知识

目录 写在前面 1. 信息的基本概念 2. 信息的定量描述 3. 信息的传输模型 3. 信息系统的主要性能指标 4. 信息化的层次 5. 电子政务和电子商务 6. 信息系统 6.1 系统开发的方法 6.2 信息系统总体规划 6.3 信息系统规划内容 7 IT战略 8 习题收集 写在前面 系统规划与…

从8连挂到面面offer,我只用了一个月,面试25K测试岗血泪经验分享给你

直到如今,我才敢把这段经历分享出来,毕竟一个多月前,我是经历了面试八连挂的人。作为一只骄傲的软件测试工程师,恨不得找一块豆腐撞死。但是在闭关修炼了一个多月之后,重新出来面试,面试了五家公司&#xf…

《人月神话》译文修订明细(2)-读者可以对照修改

《人月神话》译文修订明细(1)-读者可以对照修改 《人月神话》译文修订如下,读者可以对照自己手上的书修改。 相关阅读 这回真要动刀子-征集《人月神话》中译本的翻译修正>> 第一章(续) 原译文 水平边界以下…

Graphpad Prism9.5.1 安装教程 (含Win/Mac版)

GraphPad Prism GraphPad Prism是一款非常专业强大的科研医学生物数据处理绘图软件,它可以将科学图形、综合曲线拟合(非线性回归)、可理解的统计数据、数据组织结合在一起,除了最基本的数据统计分析外,还能自动生成统…

Mysql中千万数据查询浅析

假如mysql数据库中有一千万数据,如何进行查询,查询效率如何,下面进行简单的分析。 1、准备数据 也许有些人没遇见过上千万数据量的表,没关系,下面通过sql脚本准备一下数据,环境为:mysql5.7. 1…

提示msvcr120.dll丢失怎么办?由于找不到msvcr120.dll如何修复?

msvcr120.dll 是 Microsoft Visual C 文件中的一个重要组件。它是一种动态链接库,包含了很多函数,提供了许多基础的 C 运行时支持。这个库文件的主要功能是提供 C 应用程序的运行时环境,它是一些常用的 C 运行时库文件的集合。这些库包括了 m…

队列:数据结构中的排队之道

本篇博客会讲解队列这种数据结构,并使用C语言实现。 概况 什么是队列呢?队列是一种先进先出的数据结构,即First In First Out,简称FIFO。队列有2端,分别是队头和队尾,规定只能在队尾插入数据(…

华为OD机试真题 Java 实现【单核CPU任务调度】【2023Q2 200分】

一、题目描述 现在有一个CPU和一些任务需要处理,已提前获知每个任务的任务D、优先级、所需执行时间和到达时间。 CPU同时只能运行一个任务,请编写一个任务调度程序,采用“可抢占优先权调度”调度算法进行任务调度,规则如 下&…

嵌入式Android系统启动基本分析

目录 第一:Android系统架构图: 第二:Android 系统启动流程如下: 第三:Android 层级分析 第四:案例分析 第五:Android 权限问题 上一篇我们讲了 Linux 系统的启动流程,本文讲解一…

QTableWidget样式设置

QTableWidget的样式分为几个部分: 分别是: 外框:QTableWidget 表头:QHeaderView 表头字段:QHeaderView::section 表格:QTableWidget::item 选中的表格:QTableWidget::item::selected 水平滚动条…

课时七—进程同步(一)

1、同步与互斥的基本概念 1)临界资源 (1)临界资源:是一次仅允许一个进程使用的共享资源。各进程采取互斥的方式,实现共享的资源称作临界资源。属于临界资源的硬件有,打印机,磁带机等;软件有消息…

javase个人小结

一、数据类型 二、运算符(需要注意的) /:如果是int类型,那么会保留整数,舍去余数 列如:10/3 3 优先级:拿不准就加括号,括号优先级最高 三、类和对象 什么是封装,继承…