Python出現的問題及相關編程方法總結

fw.write(list2)

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

類型轉換:str轉list與list轉strapp

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

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

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

至此,上述問題解決***************************************************************************************函數

對csv文件操做小結spa

讀csv文件code

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文件blog

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的讀取能夠添加utf-8

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

將ndarray寫入csv文件get

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

在一個csv每行末尾添加一列it

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方式,對於條件語句不友好

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

相關文章
相關標籤/搜索