寒假数据任务总结
任务内容
本次任务要处理的数据共101227行,样例如下:
Jogging 102271561469000 -13.53 16.89 -6.418
Jogging 102271641608000 -5.75 16.89 -0.4618 Jogging 102271681617000 -2.18 16.32 11.0718 Jogging 3.3618
Downstairs 103260201636000 -4.44 7.06 1.9518
Downstairs 103260241614000 -3.87 7.55 3.318
Downstairs 103260321693000 -4.06 8.08 4.7918
Downstairs 103260365577000 -6.32 8.66 4.9418
Downstairs 103260403083000 -5.37 11.22 3.0618
Downstairs 103260443305000 -5.79 9.92 2.536
Walking 0 0 0 3.214402
step1
将数据集中所有信息异常的行删除。 数据集中可能还会存在一些其他异常。 将全部信息处理之后,每行的元素以逗号为分隔符,写入文件test1
。 文件test1
共100471行:
step2
统计文件test1
的数据中所有动作的数目并打印到屏幕,然后将动作数目对100取整后写入test2
文件,多余的信息行抛弃。比如统计出Jogging
的数量为3021
次,则在屏幕上打印’Movement: Jogging Amount: 3021’,然后将前3000行信息写入’test2’文件。
注:这个代码在写时,需先打开一次文件,将文件根据要求进行修改。二次打开文件进行遍历。
之间有csv_in_file.seek(0,0)这行,运用seek函数,用来移动文件读取指针到指定位置。
step3
读取文件’test2’的数据,取每行的后3列元素,以空格为分隔符写入文件’test3’。 文件’test3’共100200行,样例如下:
-0.72 9.62 0.14982383
-4.02 11.03 3.445948
0.95 14.71 3.636633
注:用列表选取需要保存的列,用append函数将需要保存的列加入另一个空列表中。最后将列表m以文件形式写入。
step4
读取文件’test3’的数据,每行数据为一组,每组组内的元素以空格为分隔符,组与组之间的数据以逗号为分隔符,每20组元素为一行,写入文件’finally’。
注:这个代码的点在最后一行,每循环20次后,将n列表置空,直到遍历所有的行。
总结
1.python可以直接写入文件
with open(‘文件名.csv’,‘r’,newline=’’)as csv_in_file:
with open(‘文件名.csv’,‘w’,newline=’’)as csv_out_file:
filereader=csv.reader(csv_in_file)
filewriter=csv.writer(csv_out_file)
2.处理csv文件时,直接根据以上模式和要求进行编写即可,最后:filewriter.writerow()