首先先将txt中数据以逗号的形式分割并保存到新的csv文件中:
再看第一步,将数据异常的行删除掉,并保存在text1中:
Step 2:
统计文件test1的数据中所有动作的数目并打印到屏幕,然后将动作数目对100取整后写入test2文件,多余的信息行抛弃。比如统计出Jogging的数量为3021次,则在屏幕上打印Movement: Jogging Amount: 3021,然后将前3000行信息写入test2文件。 文件test2共100200行。
第二步首先统计动作计数后关闭文件,后再打开文件进行保存:
import csv
p = open('text1.csv','r')
n=n1=n2=n3=n4=n5=0
for line in p.readlines():#识别每个动作并计数
if line.split(',')[1] == 'Walking':
n += 1
elif line.split(',')[1] == 'Jogging':
n1 += 1
elif line.split(',')[1] == 'Upstairs':
n2 += 1
elif line.split(',')[1] == 'Downstairs':
n3 += 1
elif line.split(',')[1] == 'Sitting':
n4 += 1
else:
n5 +=1
p.close()
sum = (n // 100) * 100 + (n1 // 100) * 100 + (n2 // 100) * 100 + (n3 // 100) * 100 + (n4 // 100) * 100 + (
n5 // 100) * 100#对每个计数整除100后乘100
with open('text1.csv','r') as p:
p1 = csv.reader(p)
with open('text2.csv','w',encoding='utf-8',newline='') as fp:
fp1 = csv.writer(fp)
for line in p1:
fp1.writerow(line)
sum-=1
if sum==0:#控制输入行数
break
print("Movement:Walking Amount:%d"%n)
print("Movement:Jogging Amount:%d"%n1)
print("Movement:Upstairs Amount:%d"%n2)
print("Movement:Downstairs Amount:%d"%n3)
print("Movement:Sitting Amount:%d"%n4)
print("Movement:Standing Amount:%d"%n5)
第三步进行一个切片操作:
第四步首先将每行元素以空格形式分开,再在行末添加逗号,最后控制20组数据换行:
结果一览: