python 實(shí)現(xiàn)讀取csv數(shù)據(jù),分類求和 再寫進(jìn) csv
這兩天在測試過程中,遇到這樣的問題:
數(shù)據(jù)量很大,一份csv文件的數(shù)據(jù)與另外一個(gè)文件的數(shù)據(jù)進(jìn)行對比,但是csv中的文件數(shù)據(jù)量很大,并且進(jìn)行統(tǒng)計(jì) ,如果手動(dòng)單個(gè)去對比,會(huì)很花時(shí)間,吃力不討好,還容易出錯(cuò)。
比如說,這樣的數(shù)據(jù)
需要對AskPrice值相同對應(yīng)的AskQuantity 統(tǒng)計(jì)出來。
直接上腳本 :
import pandas as pdimport csvdf=pd.read_csv(’D:testorderBook.csv’)df_sum = df.groupby(’AskPrice’)[’AskQuantity’].sum() df_sum.to_csv(’D:testorderBook2.csv’)
然后運(yùn)行得到:
這對于大數(shù)據(jù)量的處理特別方便。
補(bǔ)充知識(shí):python處理csv文件(場景分類)
最近做一個(gè)關(guān)于場景分類的比賽,總共有20類,不到2萬張圖片,首先要做的就是把20類圖片分到每個(gè)文件夾下。
import numpy as npimport osimport xlrdimport pandas as pdimport shutillist_0 = []list_file = []flag = []filename = os.listdir(’F:工作比賽未來杯image_scene_trainingdata’)af = pd.read_excel(’19.xlsx’)ww = af.values.tolist()for i in ww: for j in i: list_0.append(j)for name in filename: list_file.append(name[0:-4]) for name in list_file: if name in list_0: flag.append(True) else: flag.append(False) for name in list_file: if flag[list_file.index(name)]: oldname = u’F:工作比賽未來杯image_scene_trainingdata’+name+’.jpg’ newname = u’F:工作比賽未來杯image_scene_trainingtrain_databeach’+name+’.jpg’ shutil.copyfile(oldname,newname)
unicodeDecodeError:’utf-8’ codec can’t decode byte 0xce in position 72: invalid continuation byte
1:升級pip python -m pip install --upgrade pip
2:改python文件內(nèi)容:找到libsite-packagespipcompat__init__.py
return s.decode(’utf-8’)
將‘utf-8’改成’gbk’
以上這篇python 實(shí)現(xiàn)讀取csv數(shù)據(jù),分類求和 再寫進(jìn) csv就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
