• Python复习(拾遗)3


    一维数据格式化及其处理
            一维数据的表示
                如果数据间有序,使用列表类型
                for循环
                
                无序使用集合
                for循环
                
            一维数据的存储
                空格分隔,不换行
                缺点 数据中不能有空格
                
                逗号分隔
                缺点不能有英文逗号
                
                所以使用文章不会出现的特殊符号
            一维数据的处理
                存储文件>>>列表或者集合
                存储文件<<<列表或者集合
                
            复习.split方法
                """k jk ja ds f""".split()   #按照空格切割
                ['k', 'jk', 'ja', 'ds', 'f']
            
                """k jk ja ds f""".split("j")    #按照j切割
                ['k ', 'k ', 'a ds f']
                可见split把字符串切割为若干个字符串组成列表,依据内部元素进行分割。
                
                
                
            复习 .join方法对列表进行操作,转化为字符串
                a=["sdf","sdfsd","sdfdsa"]
                " ".join(a)
                'sdf sdfsd sdfdsa'
                
                a=["sdf","sdfsd","sdfdsa"]
                k="&".join(a)
                k
                'sdf&sdfsd&sdfdsa'
                k.split(&)==a
                True
                    
                处理办法
                    读入  结果呈现为列表
                        从空格分隔文件中读入数据
                            txt=open(fanme).read()
                            ls=txt.split()    """得到列表ls"""
                            f.close()
                        从特殊符号分隔的文件中读入数据(换了一种写法)
                            f=open("文件名")    """f是类型是 _io.TextIOWrapper """
                            txt=f.read()        """ txt类型是字符串     """
                            ls=txt.split("&")    """ 字符串的split方法把 字符串 化为 列表"""
                            f.close()         """_io.TextIOWrapper这个类型才能有open 和close功能,这里spyder提醒你了 """
                    写入    结果得到字符串
                        采用空格分隔方式写入
                            ls=["中国","美国","日本"]
                            f=open(fname,"w")
                            f.write(" ".join(ls))  """写入一个字符串"""
                            f.close()
                        从特殊符号分隔写入
                            ls=["中国","美国","日本"]
                            f=open(fname,"w")
                            f.write("$".join(ls))
                            f.close()
                    
    二维数据格式化及其处理
        
            二维数据表示
                用列表来表示,用两层for循环来表示
            CSV数据存储格式
                国际通用一二维数据存储格式.csv
                没有空行,每行是一维数据,
                
                缺失保留逗号,逗号与数据之间没有额外空格,包含逗号的,加引号或者转义符
            
            二维数据的存储
                按照行列存储都可以
                一般的 列表按照先行后列,
                
            二维数据的处理
                    读取
                        f=open("b.csv")
                        ls=[]
                        for i in f:     
                            i=i.replace("
    ","")    #和print(i,end="")作用相似,去掉换行符
                            i=i.split(",")
                            ls.append(i)
                        f.close()
                        通过这个例子发现,csv文件的行(列)很重要,for i in f中,i就是f的每一行
                        换句话说行(列)是组成csv文件的基本单位,迭代单元
                        重温split方法,split(<某符号>)就是按照某符号划分
                        划分为列表,元素变为字符串以逗号分隔 
                        
                    写入
                        ls=[[],[],[]] #二维列表
                        f=open(fname,"w")
                        for item  in ls:
                            f.write(",".join(item)+"
    ")
                        f.close()
                        
                    综合的例子
                        zs=[['第一行', '72', '7.69', '136.84'],
                         ['第二行', '53', '1.75', '0'],
                         ['第三行', '346', '4.87', '696.43']]
                        m=open("m.csv","w")
                        for i in zs:
                            a=",".join(i)+"
    "
                            m.write(a)
                        m.close()
                        
                        
                        
                        m=open("m.csv","r")
                        zz=[]
                        for i in m:
                              i=i.replace("
    ","")
                              i=i.split(",")
                              zz.append(i)
                        m.close()
                    二维数据逐一输出
                        zs=[['第一行', '72', '7.69', '136.84'],
                         ['第二行', '53', '1.75', '0'],
                         ['第三行', '346', '4.87', '696.43']]
                        
                        for row in range(len(zs)):
                            for l in range(len(zs[0])):   这里写0因为他的元素个数都一样
                                print(zs[row][l])

  • 相关阅读:
    python调用c++动态库报错
    Python自动化测试常用库整理
    Linux kswapd0 进程CPU占用过高快速处理方法
    Linux安装jdk8及环境变量配置
    免费的网站安全检查和恶意软件扫描程序
    【Java】对象的创建、初始化和使用
    【Java】数组的创建、遍历和复制
    【Java】Java 语言中流程控制语句(分支语句、循环语句、转移语句)的一些新特性
    【Java】Java 语言中操作符的一些新特性
    【Java】常量与变量(局部变量、成员变量)
  • 原文地址:https://www.cnblogs.com/xinqidian/p/10196654.html
Copyright © 2020-2023  润新知