python之小应用:读取csv文件并处理01数据串
目的:读取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数据串的更多相关文章
- C++ 把数组数据存入 CSV 文件,以及读取 CSV 文件的数据
1. CSV-百度百科 2. 代码 #pragma once //Microsoft Visual Studio 2015 Enterprise #include<iostream> #i ...
- Python 读取csv文件到excel
朋友问我如何通过python把csv格式的文件另存为xls文件,自己想了想通过读取csv文件然后再保存到xls文件中即可,也许还有其他简单的方法,但这里也为了练习python语法及其他知识,所以采用了 ...
- python 使用read_csv读取 CSV 文件时报错
读取csv文件时报错 df = pd.read_csv('c:/Users/NUC/Desktop/成绩.csv' ) Traceback (most recent call last): File ...
- python之模块csv之 读取CSV文件(reader和DictReader2个方法)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #读取CSV文件(reader和DictReader2个方法) import csv #csv文件,是一种常用 ...
- Python读取 csv文件中文乱码处理
需求:按行解析读取csv文件存入关系型数据库——主要是中文字体解析:遇到的问题:直接解析出来的数据为list形式,而且编码格式为unicode;解决问题:前提了解: 中文编码的规则 —— GB2312 ...
- 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 ...
- [Python Study Notes]pd.read_csv()函数读取csv文件绘图
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- python3+Appium自动化11-data数据封装之python读取csv文件
使用背景 实际项目中,我们的测试数据可能存储在一个数据文件中,如txt.excel.csv文件类型.我们可以封装一些方法来读取文件中的数据来实现数据驱动 enumerate()简介 enumerate ...
- Selenium(Python) ddt读取CSV文件数据驱动
import csvimport unittestfrom time import sleep from ddt import ddt, data, unpackfrom selenium impor ...
随机推荐
- 超简单Mac安装Tomcat服务器
超简单Mac安装Tomcat服务器 1.首先下载tomcat 下载连接 2. 解压并改名 3.把Tomcat复制到系统中的资源库或者Library 4.打开shell,进入Tomcat下面的bin目录 ...
- 学习测试框架Mocha
学习测试框架Mocha 注意:是参考阮老师的文章来学的.虽然阮老师有讲解,但是觉得自己敲一遍,然后记录一遍效果会更好点.俗话说,好记性不如烂笔头. Mocha 是javascript测试框架之一,可以 ...
- AI 线性代数
1.标量.向量.矩阵和张量 1)标量(scalar),一个数,例如自然数和实数. 2)向量(vector),一列有序数.可以看作只有一列的矩阵. 3)矩阵(matrix),二维数组.转置(transp ...
- node.js 基础二 开启服务器监听
1.server.js 2.监听 一 server.js 二 监听 运行server.js后,浏览器打开:http://localhost:8888/ //====================== ...
- python inspect.stack() 的简单使用
1. #python # -*- encoding: utf-8 -*- #获取函数的名字 import inspect def debug(): callnamer = inspect.stack( ...
- Windows下jupyter notebook 修改打开的浏览器
1. 打开cmd,输入jupyter notebook --generate-config 2. 根据返回的路径打开 C:\Users\Administrator\.jupyter\jupyter_n ...
- LOJ2540 PKUWC2018 随机算法 状压DP
传送门 两种$DP$: ①$f_{i,j}$表示前$i$次选择,最大独立集为$j$时达到最大独立集的方案总数,转移:$a.f_{i,j}+=f_{i+1,j+2^k}$(保证$k$加入后符合条件):$ ...
- R绘图 第七篇:绘制条形图(ggplot2)
使用geom_bar()函数绘制条形图,条形图的高度通常表示两种情况之一:每组中的数据的个数,或数据框中列的值,高度表示的含义是由geom_bar()函数的参数stat决定的,stat在geom_ba ...
- Mac 启动 ssh 服务
Mac 本身有 ssh,只是没有默认开启,需要手动开启. 启动 sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist 关闭 su ...
- Webpack 2 视频教程 005 - Webpack 编译输出日志
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...