目的:读取csv文件内容,把0和1的数据串取出来,统计出现1的连续次数和各次数出现的频率次数

先读取csv文件内容:


import csv
def csv_read(file):
list = []
csv_reader = csv.reader(file)
for id, data, *args in csv_reader:
#跳过表头
if id == " ":
continue
#print(id, data)
list.append(data)
return list

再写处理0和1的方法


#统计连续0和1出现的个数

#函数功能:对连续出现的1的个数进行统计,返回一个连续次数列表
def sum_times(list):
total_list = []
#n统计出现次数,m表示当前处理个数
n = 0
m = 0
for w in list:
m += 1
if int(w) == 1:
n += 1
elif int(w) == 0:
if n > 0:
#连续次数大于2则打印位置
if n > 2:
print("连续时长:", n,"| 行数:", m-n)
total_list.append(n)
n = 0
#如果最后一个为1则自动计数
if m == len(list):
if n > 0:
total_list.append(n)
n = 0 print("\nsum_times函数打印连续次数列表:\n", total_list)
return total_list #函数功能:对出现频率列表进行统计
def sum_tocal(list):
list_total = [0, 0, 0, 0, 0]
for n in list:
if n == 1:
list_total[0] += 1
elif n == 2:
list_total[1] += 1
elif n == 3 or n == 4:
list_total[2] += 1
elif n == 5 or n == 6:
list_total[3] += 1
elif 6 < n <= 12:
list_total[4] += 1
return list_total

最后依次调用执行


import readcsv, tong_ji_ge_shu
#统计出现各时长频率的次数 file = open("d://vis_911_3000.csv")
#file = open("d://ts_ctime_12.csv") #从csv中读取数据
csvlist = readcsv.csv_read(file)
file.close() #记录连续出现的小时数
list_pinlv = tong_ji_ge_shu.sum_times(csvlist) #统计各时长出现的个数
list_final = tong_ji_ge_shu.sum_tocal(list_pinlv) print() #空行
print(list_final) #输入各时长个数的统计列表
#print("1次:" + str(list_final[0]), " | 2次:" + str(list_final[1]), " | 3-4次:" + str(list_final[2]))
print("[1次,2次,3-4次,5-6次,7-12次]")

												

python之小应用:读取csv文件并处理01数据串的更多相关文章

  1. C++ 把数组数据存入 CSV 文件,以及读取 CSV 文件的数据

    1. CSV-百度百科 2. 代码 #pragma once //Microsoft Visual Studio 2015 Enterprise #include<iostream> #i ...

  2. Python 读取csv文件到excel

    朋友问我如何通过python把csv格式的文件另存为xls文件,自己想了想通过读取csv文件然后再保存到xls文件中即可,也许还有其他简单的方法,但这里也为了练习python语法及其他知识,所以采用了 ...

  3. python 使用read_csv读取 CSV 文件时报错

    读取csv文件时报错 df = pd.read_csv('c:/Users/NUC/Desktop/成绩.csv' ) Traceback (most recent call last):  File ...

  4. python之模块csv之 读取CSV文件(reader和DictReader2个方法)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #读取CSV文件(reader和DictReader2个方法) import csv #csv文件,是一种常用 ...

  5. Python读取 csv文件中文乱码处理

    需求:按行解析读取csv文件存入关系型数据库——主要是中文字体解析:遇到的问题:直接解析出来的数据为list形式,而且编码格式为unicode;解决问题:前提了解: 中文编码的规则 —— GB2312 ...

  6. Python读取CSV文件,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 727: illegal multibyte sequence

    Python读取CSV文件,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 727: illegal mul ...

  7. [Python Study Notes]pd.read_csv()函数读取csv文件绘图

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  8. python3+Appium自动化11-data数据封装之python读取csv文件

    使用背景 实际项目中,我们的测试数据可能存储在一个数据文件中,如txt.excel.csv文件类型.我们可以封装一些方法来读取文件中的数据来实现数据驱动 enumerate()简介 enumerate ...

  9. Selenium(Python) ddt读取CSV文件数据驱动

    import csvimport unittestfrom time import sleep from ddt import ddt, data, unpackfrom selenium impor ...

随机推荐

  1. PAT A1121 Damn Single (25 分)——set遍历

    "Damn Single (单身狗)" is the Chinese nickname for someone who is being single. You are suppo ...

  2. Python排序算法——希尔排序(Shell’s Sort)

    有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10793487.html 一.希尔排序(Shel ...

  3. 【ZOJ 3200】Police and Thief

    ZOJ 3200 首先我写了个高斯消元,但是消出来了一些奇怪的东西,我就放弃了... 然后只好考虑dp:\(dp[i][j][k]\)表示走到了第i步,到了\((j,k)\)这个节点的概率. 那么答案 ...

  4. JDBC使用MYSQL的LOAD DATA LOACAL INFILE和LOAD DATA INFILE

    MYSQL的LOAD方法都必须建立在mysql服务允许使用该命令的情况下: 开启该命令的方法: 1.在实例对应的my.cnf(windows为my.ini)中添加一行local-infile=1(默认 ...

  5. SSIS ->> Excel Destination无法接受大于255个字符长度的字符字段(转载)

    从下文的链接中找到一些背景,因为Excel会以前8行作为参考,如果某个字段前8行的最长长度没有超过255个字符,就会报错.如果知道某个字段属于描述性字段,而且字段的数据长度很可能超过255个字符长度, ...

  6. CF915G Coprime Arrays 莫比乌斯反演、差分、前缀和

    传送门 差分是真心人类智慧--完全不会 这么经典的式子肯定考虑莫比乌斯反演,不难得到\(b_k = \sum\limits_{i=1}^k \mu(i) \lfloor\frac{k}{i} \rfl ...

  7. Luogu3613 睡觉困难综合征/BZOJ4811 Ynoi2017 由乃的OJ 树链剖分、贪心

    传送门 题意:给出一个$N$个点的树,树上每个点有一个位运算符号和一个数值.需要支持以下操作:修改一个点的位运算符号和数值,或者给出两个点$x,y$并给出一个上界$a$,可以选取一个$[0,a]$内的 ...

  8. 【转】Oracle中的decode在mysql中的等价实现

    以前用的Oracle,里面的Decode函数非常好用,那MySql实现同样的功能用什么呢?——MySql使用if的语法来支持. 格式:IF(expr1,expr2,expr3)如果expr1是TRUE ...

  9. 面试3——java集合类总结(List)

    1.集合类 数组:可以存储对象,也可以存储基本数据类型,但是一次只能存储一种类型,且长度一定,不可改变. 集合:只能存储对象,长度可变,可以存储不同类型的对象.Java集合类主要有三种:set,lis ...

  10. 通过git命令行从github或服务器上克隆、修改和更新项目

    项目开发时,为了方便版本管理,许多公司采用git来控制项目版本.简单介绍下: 第一步:在本地新建一个文件夹,作为本地仓库,如“test”.打开git bash,进入到该文件夹目录下,如下图: 第二步: ...