python如何读取csv数据,python 读取csv文件数据
脚本如下:
fromopenpyxlimportload _ workbook
找到需要workbook=load _ workbook(u /tmp/test。xlsx )xlsx文件的位置
booksheet=workbook.active #检索当前活动的床单,默认值为第一个表
#如果要获取其他壳页面,请按如下方式获取所有壳页面名称,然后在中指定该页面:
# sheets=工作簿。获取工作表名称(从#名称中获取表
#书单=工作簿。get _ sheet _ by _ name(sheets[0])。
获取表页的行数据
rows=booksheet.rows
获取表页的列数据
columns=booksheet.columns
i=0
#重复所有行
对于行中的行:
i=i 1
line=[行中列的列值]
cell _ data _ 1=帐簿表。单元格(行=1,列=3).价值#获取第我行第一列中的数据
cell _ data _ 2=帐簿表。单元格(行=1,列=4).价值#获取第我行第二列中的数据
cell _ data _ 3=帐簿表。单元格(行=1,列=8).价值#获取第我行第三列中的数据
cell _ data _ 4=帐簿表。单元格(行=1,列=18).价值#获取第我行第四列中的数据
打印(单元格数据1、单元格数据2、单元格数据3、单元格数据4))
实例:python读取超过数据进行分类统计
一个超过记录某人的通话记录,下一步是根据通话地点、通话类型等统计通话时间
#-* -编码:utf-8-* -
导入读操作
导入日期时间
infos=[]
打开info _ file=xlrd。打开_工作簿(src。xls)excel文件
信息表=信息文件。sheets()[0]#按索引检索工作表
row_count=info_sheet.nrows#获取行数、列数与列数
forrowinrange(1,row_count):
time _ string=info _ sheet .单元格(第3行)。价值
time _ s _ sp=time _ string.split(:)。
infos.append(#这个数组里有一本叫行计数的词典
{
type:info_sheet.cell(row,2).价值,#获取小区、呼叫类型、呼叫方被呼叫
“其他_手机”:信息表。单元格(第0行).价值,#对方号码
timespan :日期时间。时间增量(秒=int(time _ s _ sp[2],分钟=int ) time_s_sp[1],hhh
GPS city : info _ sheet.cell(第5行)。价值#通话是本地还是外地
}
)
time _ all=datetime.time delta(秒=0) #初始化
time_types={}
time_classes={}
time_numbers={}
取出对于信息中的信息:#数组内的词典
time_all=infor[timespan]#求出总通话次数
infor_type=infor[type]
如果时间类型中有信息类型:
time _ types[infor _ type]=infor[ timespan ]
否则:
按时间类型[信息类型]=信息[时间跨度] #通话类型统计通话时间
infor_class=infor[gpscity]
ifinfor _ class intime _ classes:
time _ class[infor _ class]=infor[ timespan ]
否则:
time _ class[infor _ class]=infor[ timespan ]#这里,相当于暂时分类分配值,按归属目的地统计通话时间
infor _ number=infor [其他_手机]
ifinfor _ number intime _ numbers:
time _ numbers[infor _ number]=infor[ timespan ]
否则:
时间编号[信息编号]=信息[时间跨度] #号统计通话时间
打印总通话时间:%s % time_all
打印
打印总通话方式分类
对于time_types.items()中的k,v:
编码(utf-8),v
打印
打印通话类型分类:
对于time _ classes.items()中的k,v:
编码(utf-8),v
打印
打印对方号码分类:
对于时间编号.项目()中的k,v:
打印k,v
优化代码
#-* -编码:utf-8-* -
导入读操作
来自日期导入时间三角洲
读取ef read _ excel(file _ excel):# excel,将所需数据分类为数组
infos=[]
info _ file=xlrd。打开工作簿(文件excel)
信息表=信息文件。工作表([0]
row_count=info_sheet.nrows
forrowinrange(1,row_count):
time _ string=info _ sheet .单元格(第3行)。价值
time _ s _ sp=time _ string.split(:)。
信息附加(
{
type:info_sheet.cell(row,2).值,
“其他_手机”:信息表。单元格(第0行).值,
timespan :time delta(seconds=int)time _ s _ sp[2],minutes=int ) time_s_sp[1],hours=int
GPS city : info _ sheet.cell(第5行)。价值
}
)
返回信息
defcount_cell(list_dirs,infotype ) :#统计总通话和分类统计结果存在于词典中
result_dir={}
time_all=timeDelta(seconds=0)))))))))))))))。
对于列表目录中的列表目录:
time_all=list_dir[timespan]
信息类型=列表目录[信息类型]
if info _ typenotinresult _ dir:
result _ dir[info _ type]=list _ dir[ timespan ]
否则:
result _ dir[info _ type]=list _ dir[ timespan ]
返回时间_全部,结果_目录
极好的打印_结果(结果目录):#打印数据
对于k,v在结果_目录.项目()中:
编码(utf-8),v
if __name__==__main__ :
list_dirs=read_excel(src.xls))。
time_all,result _ type=count _ cell(list _ dirs, type )。
结果单元格=计数单元格(列表目录,’其他_手机 ) )
result _ GPScity=count _ cell(list _ dirs, GPScity )
打印总通话时间:%s % time_all
打印按通话类型:
打印_结果(结果类型)是
按打印编号分类:
打印_结果(结果单元格[1]).
打印按归属地点分类:
打印_结果(结果_ GPS城市[1]
希望以上是正文的全部内容,对大家的学习有帮助。另外,我希望你支持很多编剧。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。