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方式,对于条件语句不友好

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

     

  • 相关阅读:
    迁移学习综述
    分析 Kaggle TOP0.1% 如何处理文本数据
    软件工程提问回顾与个人总结
    洛谷 4219/BZOJ 4530 大融合
    洛谷 1486/BZOJ 1503 郁闷的出纳员
    【模板】文艺平衡树
    【模板】树套树(线段树套Splay)
    【模板】可持久化线段树
    【模板】可持久化平衡树
    【模板】左偏树
  • 原文地址:https://www.cnblogs.com/o-din/p/10723011.html
Copyright © 2011-2022 走看看