zoukankan      html  css  js  c++  java
  • Python出现的问题及相关编程方法总结

    fw.write(list2)
    

    TypeError: write() argument must be str, not list

    类型转换:str转list与list转str

    test_str = "".join(test_list) #使用分割

    TypeError: sequence item 0: expected str instance, int found

    tr2 = ",".join(str(x) for x in list2)+'
    '

    至此,上述问题解决***************************************************************************************

    对csv文件操作小结

    读csv文件

    with open('D:/trace analyse/a.csv','rt', encoding="utf-8") as csvfile:
         reader = csv.reader(csvfile)
         next(csvfile) #跳过第一行
         for raw in reader:
             #对每一行处理
    csvfile.close()

    写csv文件

    with open('D:/trace analyse/b.csv','w+',newline='') as wfile:
        writer = csv.writer(wfile)
        for key in dict:
            for value in dict[key]:
                writer.writerow([key, value, dict1.get(key+value)])
    wfile.close()

    当csv文件没有标题行的时候,对csv的读取可以添加

    train = pd.read_csv(file, header=None, names = ['a','b','c'] )

    将ndarray写入csv文件

    pd_data = pd.DataFrame(np_data,columns=['filename','gender'])
    pd_data.to_csv('pd_data.csv')

    在一个csv每行末尾添加一列

    with open(file,'rt', encoding="utf-8") as csvfile:
        reader = csv.reader(csvfile)
        next(csvfile)
        writefile = open(file,'w+',newline='')
        writer = csv.writer(writefile)
        for raw in reader:
            if raw[0] in dict:
                raw.append(dict[raw[0]])
            writer.writerow(raw)
    csvfile.close()
    writefile.close()

    ***************************************************************************************

    对txt文件操作小结

    fw = open('D:/trace analyse/cputime-serires.txt','a')
    fw.write(str2) #这里不能写list类型
    fw.close()
    fr = open('D:/trace analyse/cputime-serires.txt','r') #按行读取数据
        for str1 in fr.readlines():

    ***************************************************************************************

     Random使用

    random.randint(0,max) #产生一个0-max的整数

    ***************************************************************************************

     List操作

    求list全部元素的总和

    sum(list2) #求list2全部元素的总和

    对list中的元素执行统一操作

    def Submethod(value):
        if value >= 1:
            value -= 1
        return value
    list2 = list(map(Submethod,list2))

    这种map方式,map中的function没法传递两个参数

    map(square, list) #内置函数,对list每个元素求平方
    map(lambda x: x ** 2, list) #自定义函数,同样是求平方
    map(lambda x, y: x + y, list1, list2) #自定义函数,对两个list操作

    这种map方式,对于条件语句不友好

    ***************************************************************************************

     

  • 相关阅读:
    设计模式学习08:享元模式
    设计模式学习07:适配器模式
    设计模式学习06:策略模式和简单工厂模式
    XCode Debugger中的Icon符号的意义
    蒲公英——APP内测分发平台
    分享申请IDP账号的过程,包含duns申请的分享
    Dash——程序员的的好帮手:API文档浏览器+代码片段管理工具
    xScope——界面设计师的终极工具箱
    Alcatraz——Xcode插件管理工具
    苹果向开发者发布 Xcode 6.3.2 GM版 修复 Bug
  • 原文地址:https://www.cnblogs.com/o-din/p/10723011.html
Copyright © 2011-2022 走看看