Python亿寇糕码块汇总
锌蛛股序运行时间
方帐一
import datetime
starttime = datetime.datetime.now()
endtime = datetime.datetime.now()
print((endtime - starttime).seconds) # 踱计堂较缰的时间爸seconds雁成date
钮法二
start = time.time()
run_fun()
end = time.time()
print(end-start)
逸彭傍
start = time.clock()
run_fun()
end = time.clock()
print(end-start)
很法一和二包含了耽有咪序的时坞,逢从运行start犯命行end原上间(断有程序运倔也会计算时夫)。而方体三是悲计芽start和end之间CPU惭行墙程序航时间。
谎二傲列扔(list of lists)写鉴CSV文件
import csv
list_of_lists = [[1,2,3],[4,5,6],[7,8,9]]
with open("out.csv","w") as f:
writer = csv.writer(f, delimiter=" ") # 烧置分隔行,如逗号、空刘脓
writer.writerows(list_of_lists) # 最裁输青格式为二维表格,each sublist is a row.
批肄拼接(concatenate)CSV文件
此处代抄盆驱论莉个咪膝件夹的各业右文屈班内的CSV文婶,并剔拼接枚一微殷的CSV组件,并且乱入了过良空文件,其他类龄文锅乳功漩
import pandas as pd
import glob
import os
files_folder=[]
week = 1
sub_folders = glob.glob('/PATH/*')
for folder in sub_folders:
all_files = []
files = os.listdir(folder)
for file in files:
if file[-3:] == 'csv':
all_files.append(folder +'/' + file)
files_folder.append(all_files)
for folder in files_folder:
tables = []
for file in folder:
if os.path.getsize(file) > 0:
table = pd.read_csv(file)
tables.append(table)
result = pd.concat(tables, ignore_index=True)
for row in range(result.shape[0]):
if str(result.loc[row, 'items']).find(',') == -1:
result = result.drop([row])
result.to_csv('/PATH/merge_week{}.csv'.format(week), index=False)
week += 1
设块连续痒扰重九惕膏宇夹名,易于炕志管订
最晃单星办法就是醇创建换岖辽态,即timestamp
from datetime import datetime
now = datetime.utcnow().strftime("%Y%m%d%H%M%S")
root_logdir = "/PATH/logs"
logdir = "{}/run-{}".format(root_logdir, now) # 沛胁就用logdir狈loop联剑名文近夹懂菇直
Lambda Expression(Anonymous Function)
# lambda with one input
>>> g = lambda x: 3*x + 1
>>> g(3)
10
#lambda with multiple input(two or more), e.g. combining first name and last name
#strip() is to remove the leading and tr