【Python】csv与json,哪个才是你的数据之选?

news/2024/11/13 3:50:17/


知识目录

  • 一、写在前面✨
  • 二、读写csv文件
    • 2.1 什么是CSV文件
    • 2.2 csv文件的优点
    • 2.3 应用
  • 三、读取json文件
    • 3.1 json介绍
    • 3.2 例题
  • 四、总结撒花😊

一、写在前面✨

大家好!我是初心,希望我们一路走来能坚守初心!

今天跟大家分享的文章是 `` ,希望能帮助到大家!本篇文章收录于 初心 的 Python从入门到精通 专栏。

🏠 个人主页:初心%个人主页
🧑 个人简介:大家好,我是初心,和大家共同努力
💕欢迎大家:这里是CSDN,我记录知识的地方,喜欢的话请三连,有问题请私信😘

💕 没有BUG的代码是不完美的!』—— Sodium_Sulfate「Sodium_Sulfate」

二、读写csv文件

2.1 什么是CSV文件

CSV(Comma-Separated Values,逗号分隔的值)是一种简单、实用的文件格式,用于存储和表示包括文本、数值等各种类型的数据。

CSV 文件通常以 .csv 作为文件扩展名。这种文件格式的一个显著特点是:文件内的数据以逗号 , 分隔,呈现一个表格形式。CSV 文件已广泛应用于存储、传输和编辑数据。

2.2 csv文件的优点

  • 1.简单易懂:CSV 文件基于纯文本格式,因此可以使用任何文本编辑器(如Notepad)轻松打开和编辑。
  • 2.数据兼容性:CSV 文件中的数据可以很容易地跨平台进行传输和处理,任何具有 CSV 处理功能的软件(如Microsoft Excel、Google Sheets、甚至编程语言库)都能处理该类型的文件。
  • 3.资源占用低:CSV 文件以纯文本形式存储数据,其体积相对较小,便于节省存储空间。

2.3 应用

下面请看具体的例子:

编程要求:按注释要求完成下列文件读写操作。

import re
import csvdef normalize(lines):return [line.replace('\t', '    ') for line in lines]def read_file(file_path):"""读取文本文件内容,并返回所有行的列表>>> normalize(read_file('test.txt'))['学号    出生年月    政治面貌    民族    考生类别', '0001    2003/2/23    共青团员    汉族    城镇应届', '0002    2002/4/18    共青团员    汉族    农村应届']"""def write_file(file_path, lines):"""将指定的行写入 CSV 文件中>>> write_file('output.csv', read_file('test.txt'))>>> read_file('output.csv')['学号,出生年月,政治面貌,民族,考生类别', '0001,2003/2/23,共青团员,汉族,城镇应届', '0002,2002/4/18,共青团员,汉族,农村应届']"""import doctest
doctest.testmod()

具体实现:

def read_file(file_path):"""读取文本文件内容,并返回所有行的列表>>> normalize(read_file('test.txt'))['学号    出生年月    政治面貌    民族    考生类别', '0001    2003/2/23    共青团员    汉族    城镇应届', '0002    2002/4/18    共青团员    汉族    农村应届']"""file_data = []with open(file_path, encoding='utf-8') as f:for i in f:file_data.append(i.strip())return file_datadef write_file(file_path, lines):"""将指定的行写入 CSV 文件中>>> write_file('output.csv', read_file('test.txt'))>>> read_file('output.csv')['学号,出生年月,政治面貌,民族,考生类别', '0001,2003/2/23,共青团员,汉族,城镇应届', '0002,2002/4/18,共青团员,汉族,农村应届']"""with open(file_path, 'w', encoding='utf-8', newline='') as f:writer = csv.writer(f)for line in lines:writer.writerow(line.split('\t'))  # 使用 split() 将line变成列表

三、读取json文件

3.1 json介绍

json的全称为:JavaScript Object Notation,是一种轻量级的数据交互格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

简单来说:json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。

3.2 例题

import jsondef read_future_weather(filepath):""">>> read_future_weather("weather.json")['小雨转多云', '多云转阴', '多云', '小雨转多云', '多云转小雨']>>> read_future_weather("test.txt")Error: not json file!"""# Edit Your Code Hereimport doctest
doctest.testmod()

具体实现:

json_data = {}
with open(filepath, 'r', encoding='utf-8') as f:try:json_data = json.load(f)  # 读取到 json 数据except ValueError:print('Error: not json file!')return None
future_list = json_data.get("result").get('future')
weather_list = []
for i in future_list:weather_list.append(i.get('weather'))
return weather_list

四、总结撒花😊

本文主要讲解了Python中如何使用csv文件和json文件,希望能帮助到大家。😊

这就是今天要分享给大家的全部内容了,我们下期再见!😊

🏠 本文由初心原创,首发于CSDN博客, 博客主页:初心%🏠

🏠 我在CSDN等你哦!😍


http://www.ppmy.cn/news/93270.html

相关文章

驱动 5-23

驱动IO三种模型 非阻塞IO: 当在应用程序中读取硬件数据时,不管硬件数据有没有准备好,read()函数不会阻塞住,而是继续向下执行。 在应用程序中用open函数以非阻塞的方式打开文件,会直接使用驱动程序中的mycdev_read()函数的内容…

【信息系统项目管理师】十大管理——1、整合管理

十大管理——1、整合管理 项目背景 项目概况 2021年6月,我有幸作为项目经理主持了“某省广电网络工程资源管理系统”项目的建设工作,该项目中标金额为888万元,建设工期为5年,该项目是该省广电网络公司的重点项目。 该项目整合…

Java中异常的处理及捕获

Java中异常的处理及捕获 一、异常的概述 (1)Java中异常的作用:增强程序的健壮性 (2)在Java中所有的Error(错误)和异常(Exception)都继承了同一个父类Throwable 二、异…

[元带你学: eMMC完全解读 9] 设备怎么复位到预空闲(Pre-Idle)状态

依JEDEC eMMC 5.1及经验辛苦整理,付费内容,禁止转载。 所在专栏 《元带你学: eMMC完全解读》 前言 在引导操作模式下,host (e-MMC主机)可以在发出CMD1之前,通过保持CMD线低电平或发送带有+0xFFFFFFFA参数的CMD0,才Device(e-MMC设备)读取引导Boot数据。根据寄存器设置,可…

小航编程题库机器人等级考试理论一级(2022年12月) (含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 单选题2.0分 删除编辑 答案:C 第1题下列哪个是机器人?( ) A、aB、bC、cD、d 答案解析: 单选题…

STM32 AT24CXX器件地址的理解(IIC通讯协议)

if (EE_TYPE > AT24C16) /* 24C16以上的型号, 分2个字节发送地址 */ { iic_send_byte(0XA0); /* 发送写命令, IIC规定最低位是0, 表示写入 */ iic_wait_ack(); /* 每次发送完一个字节,都要等待ACK */ iic_send_byte(addr >&…

印象笔记导出HTML再转markdown的方法

前言 我已经使用6年印象笔记了,越来越依赖它了,现在已经有6000多条笔记了,我就想着如果某一天印象笔记没了,那我这些心血就都没了,所以我想要把笔记全部转为markdown格式,然后自己存储起来。可以选择用百度…

Prometheus(普罗米修斯)

Prometheus : 入门 Prometheus简介Prometheus 的主要特点Prometheus架构:什么时候用它合适什么时候用它不合适Prometheus VS InfluxDB基本概念数据模型metric types(指标类型) Prometheus 安装部署二进制安装部署1、将安装包prometheus-2.6.1…