python和shell处理数据的程序整理
2018-01-09 19:32
489 查看
1把文件按行拼接(shell脚步)
文件f1
1
2
3
filename=$1
abc=`cat $filename | awk '
BEGIN{count=1;str=""}
{
if(count==1)
{
count++
}
else if(count<NR)
{
str=sprintf("%s,%s",str,$1)
count++
}
else
{
str+=$1
}
}
END{print str}'`
变成 1,2,3
2.产生时间点前或者后几天的日期(python脚本和shell脚本)
2.1 python脚本
先把字符串变成日期类型(strptime),在进行运算,运算结果变成字符串(strftime)
#!/use/bin/python
#coding:UTF-8
import datetime
def pro_date(appointed_date,forward_num): #2016-10-12
date_list = []
forward_num = int(forward_num)
for num in range(1,forward_num+1):
forward_day = datetime.timedelta(days=num)
this_day_time = datetime.datetime.strptime(appointed_date,"%Y-%m-%d") - forward_day
this_day = this_day_time.strftime("%Y-%m-%d")
print this_day
date_list.append(this_day)
return date_list
if __name__ == '__main__':
pro_date("2018-01-01",5)
2.2 shell脚本
#/bin/bash
function pro_date()
{
appointed_date=$1
forward_num=$2
for((i=1;i<=$forward_num;i++))
do
date=$(date -d "$i day ago $appointed_date" +%Y-%m-%d )
echo $date
done
}
pro_date "2018-01-01" 5
3.产生两个时间点内的日期(python脚本和shell脚本)
3.1python脚本
#!/use/bin/python
#coding:UTF-8
import datetime
def pro_date(begin_day,end_day): #2018-01-01
date_list = []
begin_day_datetime = datetime.datetime.strptime(begin_day,"%Y-%m-%d")
end_day_datetime = datetime.datetime.strptime(end_day,"%Y-%m-%d")
diff = end_day_datetime - begin_day_datetime
forward_num = diff.days
for num in range(1,forward_num+1):
forward_day = datetime.timedelta(days=num)
this_day_time = datetime.datetime.strptime(end_day,"%Y-%m-%d") - forward_day
this_day = this_day_time.strftime("%Y-%m-%d")
print this_day
date_list.append(this_day)
return date_list
if __name__ == '__main__':
pro_date("2017-01-01","2018-01-01")
3.2 shell脚本
function pro_date ()
{
begin_day=$1
end_day=$2
time1=$(($(date +%s -d $end_day)-$(date +%s -d $begin_day)))
forward_num=$(($time1/3600/24))
echo $forward_num
for((i=1;i<=$forward_num;i++))
do
date=$(date -d "$i day ago $end_day" +%Y-%m-%d )
echo $date
done
}
pro_date "2017-01-01" "2018-01-01"
文件f1
1
2
3
filename=$1
abc=`cat $filename | awk '
BEGIN{count=1;str=""}
{
if(count==1)
{
count++
}
else if(count<NR)
{
str=sprintf("%s,%s",str,$1)
count++
}
else
{
str+=$1
}
}
END{print str}'`
变成 1,2,3
2.产生时间点前或者后几天的日期(python脚本和shell脚本)
2.1 python脚本
先把字符串变成日期类型(strptime),在进行运算,运算结果变成字符串(strftime)
#!/use/bin/python
#coding:UTF-8
import datetime
def pro_date(appointed_date,forward_num): #2016-10-12
date_list = []
forward_num = int(forward_num)
for num in range(1,forward_num+1):
forward_day = datetime.timedelta(days=num)
this_day_time = datetime.datetime.strptime(appointed_date,"%Y-%m-%d") - forward_day
this_day = this_day_time.strftime("%Y-%m-%d")
print this_day
date_list.append(this_day)
return date_list
if __name__ == '__main__':
pro_date("2018-01-01",5)
2.2 shell脚本
#/bin/bash
function pro_date()
{
appointed_date=$1
forward_num=$2
for((i=1;i<=$forward_num;i++))
do
date=$(date -d "$i day ago $appointed_date" +%Y-%m-%d )
echo $date
done
}
pro_date "2018-01-01" 5
3.产生两个时间点内的日期(python脚本和shell脚本)
3.1python脚本
#!/use/bin/python
#coding:UTF-8
import datetime
def pro_date(begin_day,end_day): #2018-01-01
date_list = []
begin_day_datetime = datetime.datetime.strptime(begin_day,"%Y-%m-%d")
end_day_datetime = datetime.datetime.strptime(end_day,"%Y-%m-%d")
diff = end_day_datetime - begin_day_datetime
forward_num = diff.days
for num in range(1,forward_num+1):
forward_day = datetime.timedelta(days=num)
this_day_time = datetime.datetime.strptime(end_day,"%Y-%m-%d") - forward_day
this_day = this_day_time.strftime("%Y-%m-%d")
print this_day
date_list.append(this_day)
return date_list
if __name__ == '__main__':
pro_date("2017-01-01","2018-01-01")
3.2 shell脚本
function pro_date ()
{
begin_day=$1
end_day=$2
time1=$(($(date +%s -d $end_day)-$(date +%s -d $begin_day)))
forward_num=$(($time1/3600/24))
echo $forward_num
for((i=1;i<=$forward_num;i++))
do
date=$(date -d "$i day ago $end_day" +%Y-%m-%d )
echo $date
done
}
pro_date "2017-01-01" "2018-01-01"
相关文章推荐
- Python表数据统计处理程序一枚
- NLTK:一个先进的用来处理自然语言数据的Python程序
- 整理几个月的收获--(1)python包含列表字典的数据处理
- 大数据处理神器map-reduce实现(仅python和shell版本)
- Python之数据处理
- C# 使用ajax把数据从页面传到一般处理程序中去
- python结合Arcpy处理EXCEL数据生成多边形
- java WebSocketClient 做本地数据接收处理服务程序
- Shell执行python程序的缓冲区问题
- 基于Python的OpenCV图像处理笔记整理
- 数据库的点数据根据行政区shp来进行行政区处理,python定时器实现
- python --网页爬虫,文本处理,科学计算,机器学习,数据挖掘资料+附带工具包下载+tensorflow
- python学习四(处理数据)
- python数据分析-处理CSV/EXCEL表格文件
- 利用 Python 进行数据分析(二)尝试处理一份 JSON 数据并生成条形图
- python实现爬虫统计学校BBS男女比例之数据处理(三)
- C# 请求一般处理程序接受返回的数据(winfrom请求接口)
- python中用try来处理程序异常的集中常用方法
- 【转】python中用struct模块处理二进制数据
- 整理的Python3数据类型