zoukankan      html  css  js  c++  java
  • Python-文件和数据格式化

    文件的使用

    >文件的类型

    文件的理解:文件是数据的抽象和集合

    -文件时存储在辅助存储器上的数据序列

    -文件是数据存储的一种形式

    -文件展现形态:文本文件和二进制文件

    文本文件vs.二进制文件

    -文本文件和二进制文件只是文件的展示方式

    -本质上,所有文件都是二进制形式存储

    -形式上,所有文件采用两种方式展示

    文本文件

    -由单一特定编码组成的文件,如UTF-8编码

    -由于存在编码,也被看成是存储着长字符串

    -适用于例如:.txt文件、.py文件等

    二进制文件

    -直接由比特0和1的组织,没有统一字符编码

    -一般存在二进制0和1的组织结构,即文件格式

    -适用于例如:.png文件、.avi文件等

    -文本形式:中国是个伟大的国家!

    -二进制形式:b'xd6xd0xb9xfaxcaxc7xb8xf6xcexb0xb4xf3xb5 xc4xb9xfaxbcxd2xa3xa1'

    f.txt文件保存: "中国是个伟大的国家!"

    #文本形式打开文件 
    tf = open("f.txt", "rt") 
    print(tf.readline()) 
    tf.close()
    #中国是个伟大的国家!
    #二进制形式打开文件 
    bf = open("f.txt", "rb") 
    print(bf.readline()) 
    bf.close()
    #b'xd6xd0xb9xfaxcaxc7xb8xf6xcexb0 xb4xf3xb5xc4xb9xfaxbcxd2xa3xa1'

    >文件的打开和关闭

    文件处理的步骤:打开-操作-关闭

    文件的关闭

    <变量名>.close

    >文件内容的读取

    >数据文件写入

    fo = open("output.txt","w+") 
    ls = ["中国", "法国", "美国"] 
    fo.writelines(ls) 
    for line in fo: 
      print(line)
    fo.close()
    #没有任何输出
    fo = open("output.txt","w+") 
    ls = ["中国", "法国", "美国"] 
    fo.writelines(ls) 
    fo.seek(0) 
    for line in fo: 
        print(line)
    fo.close()
    #中国法国美国

    一维数据的格式化和处理

    >数据组织的维度

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

    二维数据:由多个一维数据构成,是一维数据的组合形式

    >一维数据的表示

    如果数据间有序:使用列表类型

    -for循环可以遍历数据,进而对每个数据进行处理

    如果数据间无序:使用集合类型

    -for。。。

    >一维数据的存储

    存储方式一: 空格分隔

    中国 美国 日本 德国 法国 英国 意大利

    -使用一个或多个空格分隔进行存储,不换行

    -缺点:数据中不能存空格

    存储方式二:逗号分隔

    中国,美国,日本,德国,法国,英国,意大利

    -使用英文半角逗号分割数据进行存储,不换行

    -缺点:数据中不能有英文逗号

    存储方式三:其他方式

    中国$美国$日本$德国$法国$英国$意大利

    -使用其他符号或符号组合隔离,建议采用特殊符号

    -缺点:需要根据数据特点定义,通用性差

    >一维数据的处理

     

    txt=open(fname).read()
    ls=txt.split()
    f.close
    ls
    #['中国', '美国', '日本', '德国 ', '法国', '英国', '意大利']

    txt=open(fname).read()
    ls=txt.split("$")
    f.close
    ls
    #['中国', '美国', '日本', '德国 ', '法国', '英国', '意大利']

    采用空格分隔方式将数据写入文件

    ls = ['中国', '美国', '日本'] 
    f = open(fname, 'w') 
    f.write(' '.join(ls)) 
    f.close()

    采用特殊分隔方式将数据写入文件

    ls = ['中国', '美国', '日本'] 
    f = open(fname, 'w') 
    f.write('$'.join(ls)) 
    f.close()

    二维数据的格式化和处理

    >二维数据的表示

    >CSV数据存储格式

     CSV: Comma-Separated Values

    -国际通用的一二维数据存储格式,一般.csv扩展名

    -每行一个一维数据,采用逗号分隔,无空行

    -Excel和一般编译软件都可以读入或另存为CSV文件

    -如果某个元素缺失,逗号仍要保留

    -二维数据的表头可以作为数据存储,也可以另行存储

    -逗号为英文半角逗号,逗号与数据之间无额外空格

    >二维数据的存储

     

    >二维数据的处理

    二维数据的读入处理

    从CSV格式文件中读入数据

    fo =open(fname)
    ls=[]
    for line in fo:
        line = line.replace("
    ","")
        ls.append(line.split(","))
    fo.close()

    二维数据的写入处理

    将数据写入CSV格式文件

    ls=[[],[],[]] #二维列表
    f=open(fname,'w')
    for item in ls:
        f.write(','.join(item)+'
    ')
    f.close

    二位数据的逐一处理

    采用二层循环

    ls=[[],[],[]] #二维列表
    for row in ls:
        for column in row:
            print(ls[row][colum])

     

     部分图片来自慕课https://www.icourse163.org/course/BIT-268001 若侵权请告知删除

  • 相关阅读:
    Abp 领域事件简单实践 <一>
    Abp session和Cookie
    Abp 聚合测试
    反向代理
    Angular 变更检测
    VS 之github
    Docker 启动SQLServer
    查出第二大的数是多少
    DDD 理解
    ActionBar的简单应用
  • 原文地址:https://www.cnblogs.com/cpg123/p/10440324.html
Copyright © 2011-2022 走看看