首页 > 编程语言 >【Python基础】数据格式化

【Python基础】数据格式化

时间:2024-09-04 18:50:12浏览次数:12  
标签:存储 格式化 Python writer 111 一维 csv 数据

1.1 数据的分类(基于维度)

根据组织数据时与数据有联系的参数的数量,数据可以分为以下三类。

(1)一维数据

1.一维数据是具有对等关系的一组线性数据,对应 数学中的集合、一维数组。

2.在Python中,一维列表、一维元组、一维集合都是一维数据。

3.可通过逗号、空格等符号分隔一维数据中的各个元素。

(2)二维数据

1.二维数据关联参数的数量为2,对应 数学中的矩阵、二维数组。

2.在Python中,二维列表、二维元组等都是二维数据。

3.表格是最常见的二维数据的组织形式,故二维数据也称为表格数据。

(3)多维数据

1.多维数据利用键值对等简单的二元关系展示数据间的复杂结构,Python中的字典类型的数据是多维数据。

2.多维数据在网络应用中经常见,计算机中常见的多维数据格式有HTML、JSON等等。

1.2 数据的存储

数据通常存储在文件中。

为了方便后续的读写操作,数据通常需要按照约定的组织方式进行存储。

(1)一维数据的存储

1.一维数据呈线性排列,一般用特殊字符分隔,如逗号、空格、&

2.在存储一维数据时可以使用不同的特殊字符分隔数据元素,但需注意:

(1)同一文件或同一组文件一般使用同一分隔符分隔。

(2)分隔数据的分隔符不应该出现在数据中。

(3)分隔符为英文半角符号,一般不使用中文符号作为分隔符。

例子:   成都&杭州&广州*北京
        成都 杭州 广州 北京

(2)二维数据的存储

1.二维数据可视为多条一维数据的集合,当二维数据只有一个元素时,这个二维数据就是一维数据。

2.国际上通用的一维数据和二维数据存储格式为CSV。

3.CSV文件:
         以纯文本形式存储表格数据,文件的每一行对应表格中的一条数据记录,每条记录由一个或多个字段组成,字段之间使用逗号(英文、半角)分隔。
         因为字段之间可能使用除逗号外的其他分隔符,所以CSV也叫字符分隔值。

4.CSV广泛应用于不同体系结构下网络应用程序之间表格信息的交换中,它本身并无明确格式标准,具体标准一般由传输双方协商决定。

例子:    姓名,语文,数学,英语
         张三, 111, 111, 111
         李四, 111, 111, 111

1.3 数据的写入

数据的写入步骤:
            1、创建文件:调用 open() 函数
            2、创建对象:借助 writer() 函数
            3、写入内容:调用 writer 对象的 writerow() 方法
            4、关闭文件:close()
import csv     #导入csv模块

csv_file = open('D:\\Python_code\\score.csv','w',newline='',encoding='utf-8')     # 调用open()函数打开csv文件,传入参数

writer = csv.writer(csv_file)      # 用csv.writer()函数创建一个writer对象

writer.writerow('\ufeff')     # 解决使用excel打开时中文字符出现乱码情况

writer.writerow(['电影','豆瓣评分'])      # 调用writer对象的writerow()方法,可以在csv文件里写入一行文字 “电影”和“豆瓣评分”。

writer.writerow(['银河护卫队','8.0'])

writer.writerow(['复仇者联盟','8.1'])

csv_file.close()      # 写入完成后,关闭文件

在这里插入图片描述

1.4 数据的读取

计算机采用CSV格式存储的数据其文件后缀名一般为.csv,这种文件在Windows平台上可通过Excel或记事本打开。

数据的读取步骤:
            1、打开文件:调用open()函数
            2、创建对象:借助reader()函数
            3、读取内容:遍历reader对象
            4、打印内容:print()
import csv

csv_file=open('D:\\Python_code\\score.csv','r',newline='',encoding='utf-8') 
# 用open()打开“demo.csv”文件,'r'是read读取模式,newline=''是避免出现两倍行距。encoding='utf-8'能避免编码问题导致的报错或乱码

reader=csv.reader(csv_file) # 用csv.reader()函数创建一个reader对象

for row in reader: # 用for循环遍历reader对象的每一行。打印row,就能读取出“demo.csv”文件里的内容
    print(row)
    
csv_file.close()


# 以上程序打开文件score.csv后通过对文件对象进行迭代,在循环中逐条获取文字的记录,将记录存储到列表中,最后在终端打印列表

在这里插入图片描述

1.5 多维数据的格式化

三维以上的多维数据统一采用键值对的形式进行格式化。

网络平台上传递的数据大多数是高维数据,JSON是一种轻量级的数据交换格式,本质上是一种被格式化的字符串。

JSON语法是JavaScript语法的子集,JavaScript语言中一切都是对象,因此JSON也以对象的形式表示数据。

JSON格式的数据遵循以下语法规则:

(1)数据存储在键值对(key:value)中,例如“姓名”:”张三“。

(2)数据的字段由逗号分隔,例如“姓名“:”张三",”语文":“111”。

(3)一个花括号保存一个JSON对象,例如{“姓名”:“张三”,”语文”:"111”}。

(4)一个方括号保存一个数组,例如[{”姓名”:”张三",”语文”:“111”}]。

假设目前有存储了考试成绩的JSON数据,具体如下所示:

“考试成绩":[
                   {"姓名":"张三"
                   "语文":"111"
                   "数学":"111"
                   "英语":"111"};
                   {"姓名":"李四",
                   "语文":"111"
                   "数学":"111"
                   "英语":"111",};
           ]
以上数据首先是一个键值对,key为“考试成绩”,value与key通过冒号“:”分隔;其次value本身是一个数组,该数组中存储了多名学生的成绩,通过方括号
组织,其中的元素通过分号“;”分隔;作为数组元素的学生成绩的每项属性亦为键值对,每项属性通过逗号“,”分隔。

除JSON外,网络平台也会使用XML、HTML等格式组织多维数据。XML和HTML格式通过标签组织数据。例如将学生成绩以XML格式存储,具体格式如下:

  <考试成绩>
      <姓名>张三</姓名><语文>111</语文><数学>117<数学/><英语>115<英语/>
      <姓名>李四</姓名><语文>111</语文><数学>141<数学/><英语>111<英语/>
  </考试成绩>
对比JSON格式与XML、HTML格式可知,JSON格式更为直观,且数据属性的key只需存储一次,在网络中进行数据交换时耗费的流量更小。

标签:存储,格式化,Python,writer,111,一维,csv,数据
From: https://blog.csdn.net/By18825481262/article/details/141899962

相关文章

  • 使用python虚拟环境相关的一点建议
    1.不要直接使用base虚拟环境为某个项目所用。理由如下:全局依赖:base环境中的包是全局的,所有项目都会共享这些包。如果不同项目需要不同版本的同一个包,可能会导致依赖冲突。版本控制:在base环境中,更新一个包可能会影响其他项目的正常运行。或者删除一个包,也可能对其他项目造成......
  • ava框架Spring 中的动态数据库的使用方法
    在Java框架Spring中,动态数据库的使用通常涉及根据不同条件(如请求的上下文、租户ID等)动态切换数据源。Spring提供了一些方法来实现这一点,以下是一个常见的实现方案:1.基于AbstractRoutingDataSource实现动态数据库切换Spring提供了AbstractRoutingDataSource类,可以通......
  • JSP教学科研时点状态信息管理系统65j79(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:毕业生,就业情况,职位信息,招生情况,师资状况,培养方案,课程信息,课程教材,教学成果,建设项目,创新成果开题报告内容一、研究背景随着教育改革的深入......
  • JSP金融产品销售系统的设计与实现7057n--程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技术主数据库使用MySQL开题报告内容一、研究背景与意义随着金融市场的......
  • print格式化显示
    在Python中,`print`函数可以使用多种格式化方法来输出字符串。以下是几种常见的格式化方法及其用法:###1.使用`%`操作符这种方法是Python中较早的格式化字符串的方法,使用`%`操作符。```pythonname="Alice"age=30print("Mynameis%sandIam%dyearsold."%(......
  • 计算机毕业设计推荐-基于python的协同过滤算法音乐推荐系统
    精彩专栏推荐订阅:在下方主页......
  • [Python图论]在用图nx.shortest_path求解最短路径时,节点之间有多条边edge,会如何处理?
    问:在使用图求最短路径时,如果节点之间有多条路径,shortest_route=nx.shortest_path(G,source=start_node,target=end_node,weight='length')会如何处理,会自动选择最短那条吗?#输出图G各节点之间有多少条边edge,并给出其长度Edgesbetween103928and25508583:共2条Edge......
  • python_August(函数对象、功能选择)
    目录python中一切皆对象功能选择函数的嵌套功能选择增加内容版python中一切皆对象#python中一切皆对象#print(self_max)#<functionself_maxat0x0000020E4456CF28>#print(id(self_max))#print(type(self_max))#print(type([1,2]))#print(type(1))#print(type(......
  • python 绘制折线图包括设置字体折线粗细以及标题立方m等
    #!usr/bin/envpython#-*-coding:utf-8-*-"""@author:Suyue@file:flyzhexian.py@time:2024/09/04@desc:"""importpandasaspdimportmatplotlibimportmatplotlib.pyplotaspltimportmatplotlib.tickerastickermatplot......
  • Python基础 5 - 类、对象、注解
    文章目录一、初识对象1、什么是面向对象?2、成员方法1)类的定义和使用2)成员方法的定义3、类和方法面向对象编程4、属性(成员变量)的赋值5、其他类内置方法1)__str__字符串方法2)__lt__小于符号比较方法3)__le__小于等于符号比较方法4)__eq__等于符号比较方法......