Python基础篇_文件和数据格式化

文件的使用:文件打开、关闭、读写

文件打开:通过open()函数打开文件,并返回一个操作文件的变量。

使用语法:<变量名> = (<文件路径以及文件名>,<打开模式>)

open()函数的七种打开模式:

打开模式

含义

‘r’

只读模式。如果文件不存在,则返回异常FileNotFoundError,默认值

’w’

覆盖写模式,文件不存在则创建,存在则完全覆盖原文件

’x’

创建写模式,文件不存在则创建,存在则返回异常FileExistsError

’a’

追加写模式,文件不存在则创建,存在则在原文件最后追加内容

’b’

二进制文件模式

’t’

文本文件模式,默认值

’+’

与r/w/x/a一同使用,在原功能的基础上增加同时读写功能

文件关闭、读写:

关闭:文件使用结束后使用close()方法关闭,释放文件的使用授权。

使用方法:<变量名>.close()

读写:根据打开方式不同,文件读写会根据文本文件或二进制打开方式有所不同

方法(读入)

含义

f.read(size=-1)

从文件中读入整个文件内容,参数可选,如果给出,则读入前size长度的字符串或字节流

f.readline(size=-1)

从文件中读入一行内容。参数可选,如果给出,则读入该行前size长度的字符串或字节流

f.readlines(hint=-1)

从文件中读入所有行,以每行为元素形成一个列表。参数可选,如果给出,读入hint行

f.seek(offset)

改变当前文件操作指针的位置,offset的值;

0——文件开头;1——当前位置;2——文件结尾

方法(写入)

含义

f.write(s)

向文件写入一个字符串或字节流

f.writelines(lines)

将一个元素为字符串的列表写入文件

数据组织的维度:一维数据、二维数据、多维数据

根据数据的关系不同划分一维、二维、多维数据

一维数据由对等关系的有序或无序数据构成,采用线性方式组织。

二维数据又称表格数据,由关联关系数据构成,采用二维表格方式组织

多维数据由二维数据扩展而来,高维数据是键值对都城的数据形式

一维数据的处理:表示、存储、处理

表示:采用列表形式表示

存储:总体存储思路是采用特殊符号分隔各数据。例:空格分隔、逗号分隔、换行分隔、其他特殊符号分隔

处理:通过字符串.join()方法将各元素表示为字符串,进行文件写入,

通过字符串.split()方法分解各元素,从文件中读入一维数据

使用遍历循环对一维数据个元素进行操作

二维数据的处理:表示、存储、处理

表示:采用二维列表表示,即:列表的每一个元素对应二维数据的一行,这个元素本身也是列表类型,其每部各元素对应这一行中的各列值。

处理:二维数据处理等同于二维列表的操作,需要借助两层循环遍历实现对每个数据的处理,基本代码格式如下:

for row in ls :

for item in row:

<对第row行第item列元素进行处理>

采用CSV格式对一二维数据文件的读写:

CSV格式:使用逗号分隔元素的储存格式。一种通用的、相对简单的文件格式。

一维数据保存成CSV格式后,各元素采用逗号分隔,形成一行

二维数据由一维数据组成,CSV文件的每一行是一维数据,整个CSV文件是一个二维数据

以二维数据为例,从CSV格式文件读入数据并将其表示为二维列表对象的方法如下:其中data.csv可以任意csv文件的实例:

f = open(“data.csv”,”r”)

ls = []

for line in f :

  ls.append(line.strip(‘\n’).split(“,”))

f.close()

将二维列表数据写入CSV文件的方法如下:data.csv为输出文件

#假设二维列表ls已经存在

f = open(“data.csv”,”w”)

for row in ls :

  f.write(“,”.join(row)+”\n”)

f.close()

Python基础篇(五)_文件和数据格式化的更多相关文章

  1. Python基础篇(三)_函数及代码复用

    Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...

  2. Python基础篇(二)_基本数据类型

    Python基础篇——基本数据类型 数字类型:整数类型.浮点数类型.复数类型 整数类型:4种进制表示形式:十进制.二进制.八进制.十六进制,默认采用十进制,其他进制需要增加引导符号 进制种类 引导符号 ...

  3. Python基础篇(一)_基本语法元素

    Python基础篇——基本语法元素 缩进:体现强制可读性,一般缩进4个空格.一个或多个Tab 注释:单行注释----以 # 开头 多行注释----每行以 # 开头,以 # 结束 变量:无须提前声明.可 ...

  4. Python基础篇(四)_组合数据类型的基本概念

    Python基础篇——组合数据类型的基本概念 集合类型:元素的集合,元素之间无序 序列类型:是一个元素向量,元素之间存在先后关系,通过序号进行访问,没有排他性,具体包括字符串类型.元组类型.列表类型 ...

  5. Python基础篇(五)

    bool用于判断布尔值的结果是True还是False >>> bool("a") True >>> bool(3) True >>& ...

  6. Linux基础篇五:文件操作篇(三剑客)

    cut截取字段: -d  指定分割符 -f   指定第几列 例题1: echo "i am dusonglin ,my qq is  380343680 " >dusongl ...

  7. python基础篇(五)

    PYTHON基础篇(五) 算法初识 什么是算法 二分查找算法 ♣一:算法初识 A:什么是算法 根据人们长时间接触以来,发现计算机在计算某些一些简单的数据的时候会表现的比较笨拙,而这些数据的计算会消耗大 ...

  8. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  9. Python(四)基础篇之「文件对象&错误处理」

    [笔记]Python(四)基础篇之「文件对象&错误处理」 2016-12-08 ZOE    编程之魅  Python Notes: ★ 如果你是第一次阅读,推荐先浏览:[重要公告]文章更新. ...

随机推荐

  1. windows下Jmeter压测端口占用问题

    https://blog.csdn.net/weixin_43757847/article/details/88188091 1 前情提要人脸识别项目中,云平台新增了人脸识别的校验接口.考虑到存在大量 ...

  2. HDU-1425-sort(计数排序以及快速排序和堆排序的变种)

    计数排序 Accepted 1425 483MS 5276K 997 B G++ #include "bits/stdc++.h" using namespace std; typ ...

  3. 如何设计一个LRU Cache

    如何设计一个LRU Cache? Google和百度的面试题都出现了设计一个Cache的题目,什么是Cache,如何设计简单的Cache,通过搜集资料,本文给出个总结. 通常的问题描述可以是这样: Q ...

  4. JXJJOI2018_T1_market

    题目描述 某天Lemon去超市买柠檬,他发现货架上有N个柠檬,每个柠檬都有一个重量Wi和价格Ci. Lemon身上只带了S元钱,因此他想要买一个价格不超过S的柠檬回家,另外,他希望他买的那个柠檬的性价 ...

  5. flask_admin+flask_login 整合,jieba分词+echarts数据分析可视化

    项目地址: https://github.com/WES6/list

  6. 微软亚洲研究院的“哈利·波特”:Thomas Moscibroda

    在微软亚洲研究院,有一位名为Thomas Moscibroda的研究员几乎是无人不知.无人不晓,江湖人送外号"哈利·波特".Thomas认为他这么"红"是因为他 ...

  7. Windows系统在Python2.7环境下安装numpy, matplotlib, scipy - Lichanghao Blog

    numpy, matplotlib, scipy三个包是科学计算和绘图的利器.安装它们既可以在网上下载exe安装包,也可以用python内置的包管理工具来下载安装,后者较为方便. 这几天做美赛要用到, ...

  8. Vue Zero · 啟

    其实,一开始我应聘的是Spark,Hadoop这样的,然后后面呢,发现只有Java的业务给我写了,再后面我发现,公司招不到前端,所以前端要由后端来写,刺激!!! 数据驱动 首先要明白一个概念,那就是D ...

  9. CSS定位属性position相关介绍

    position属性用来定义元素的定位方式. 定位相关属性值 1.static 默认值 2.absolute 绝对定位 3.fixed 固定定位 4.relative 相对定位 5.sticky 粘性 ...

  10. k8s环境部署.net core web项目(docker本地仓库)

    在之前的文档中,我们部署了.net core web在k8s环境下,达成了集群管理项目的目的.但是,由于是本地部署,需要在所有的node节点都拉取好镜像,这是非常麻烦的,为了只维护一份代码,同步更新. ...