python统计excel合并多少行

2023-03-07 16:57:36 7 0
卡卡

导读:今天恰卡编程网来给各位分享关于python统计excel合并多少行的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

python实现excel合并

Created on Mon Mar 16 11:23:05 2015

python统计excel合并多少行

@author: admin

"""

# 分批次运行,先得到books, 再运行,利用print 来debugimport pandas as pd

import numpy as np

import matplotlib as pl

import os

count=0

#ori_path='xx'

ori_path='C:\Python27\data\sample'

def get_xls_books(ori_path): # get target filename and dir of a pathtemp = list(os.walk(ori_path)) #tmp is list ,tmp[0]该目录文件路径和文件名, tmp[1]:子目录文件路径,文件名称book_path=[]

book_name=[]

root=temp[0][0]

for i in temp[0][2]:

if os.path.splitext(i)[1] == '.xlsx': #splite filenameobj_path=os.path.join(root,i)

book_path.append(obj_path)

book_name.append(os.path.splitext(i)[0])

return zip(book_path, book_name)

def get_xls_sheets(obj_path): #get all sheets of a object pathxls=pd.ExcelFile(obj_path)

sheet_names=xls.sheet_names

sheets=[xls.parse(i) for i in range(0,len(sheet_names)) ] # use parse can get dataframe saved into a listreturn zip(sheet_names,sheets)

books=get_xls_books(ori_path) # book paths list#xls=pd.ExcelFile(books[0])

#print xls.parse(0).columns

for book in books: # this loop get a bookbookname=book[1]

bookpath=book[0]

sheets=get_xls_sheets(bookpath) # get all sheets and names from book pathfor i in range(len(sheets)): #operate each sheet, is range(len) not lensheetname=sheets[i][0]

name=bookname+'-'+sheetname+'.'+'csv'

pd_sheet=sheets[i][1] # dataFrame

cols=pd_sheet.columns

pdf=pd_sheet[[cols[17],cols[18],cols[4],cols[6],cols[8],cols[10],cols[19],cols[16]]] # use emunerate functionpdf.columns=['area','patch','wangdian','operator','custid','servid','servtype','is_identify'] # renamepdf1=pdf[pdf['is_identify']=='是'] #filterpdf2=pdf1.drop('is_identify',1)

pdf2.to_csv(os.path.join(ori_path,name), header=None, index=None)

excel怎么计算合并单元格所占行数

合并单元格的是K列

公式:

=IF(K2"",MATCH("*",K3:$K$24,),"")

注意:“K3:$K$24”这里的"K24",输完得再按下“F4”快捷键才会出现$*$**

python 代码 怎么判断excel合并单元格的行数??

xlrd和xlwt两个模块中,可以选择合并单元格的行数,但是判断合并的行数貌似不行把,它用xlrd读取时,尽管合并了但是读取是还是一行一行读的,只是合并后的数据读取时是在第一行中读取到的,接下来的都为空

求excel用公式计算合并单元格的行数或者共有多少行,感谢!

要实现这个算法,整个流程细致复杂,每一步都要注意和小心。

具体方法如下:

1、首先,来看一下原始数据。A列是美化表格使用的合并单元格(A2:A9区域),B列是A列内容对应的明细,需要在C列在每次A列名称第一次出现的时候显示A列合并单元格所占行数。

2、双击C2单元格,输入公式:

=IF(A2"",MATCH("*",A3:A$10,),"")

3、将C2单元格向下填充到到C9,这样C列就返回了想要的结果。

4、如果读者在自己表格中根据上述公式做示例,可能会在最后一个单元格出现错误值,如下图所示:

5、解决方法:

在A列数据下面的一个单元格,本例是A10单元格,输入一个空格或者其他字符,这样是为了使MATCH()函数在最后一个判断时有匹配结果,从而避免错误值。

6、下面来解释一下公式用法。

首先来说一下MATCH()函数。MATCH函数的语法是这样的:MATCH(要匹配的单元格,要匹配单元格所在的数组,第三参数)。该函数返回第一参数在第二参数里是第几个,如下图说明:

7、然后看一下=MATCH("*",A3:A$10,)的用法。

这个是MATCH()函数的通配符用法,其中的“*”代表任意字符。在C2输入该公式,返回结果的意义是:从A3起的A3:A$10区域,第一个不是空的单元格是第几个。也就是A列下一个不为空的单元格,其实也就是距离下一个单元格的空单元格数,也就是A2合并单元格所占行数。

8、外面嵌套IF()函数是为了使A列是空白的时候B列也显示空白。具体如下图C3单元格:

C3=IF(A3"",MATCH("*",A4:A$10,),"")

pandas如何统计excel中列数据的行数?

准备测试数据:

测试数据

打开PyCharm输入以下代码

程序代码

运行效果如下:

运行效果展示

附上实现代码:

#!/usr/bin/env python

import pandas as pd

OPENPATH = 'test.xls'

SAVEPATH = 'test1.xls'

def total_count(path=OPENPATH, sheetname='testsheet'):

df = pd.read_excel(path, sheet_name=sheetname, names=['值', '计数'])

# 获取统计项目

item_name = set(df['值'])

# 创建字典统计

total_dict = dict(zip([i for i in item_name], [

0 for _ in range(len(item_name))]))

# 遍历”值“列,逐个统计数量

for index, item in enumerate(df['值']):

# 如果在set中

if item in item_name:

# 加入计数统计

total_dict[item] += df['计数'][index]

# 返回

return total_dict

def datato_excel(path=SAVEPATH, sheet_name='total', data_dict={}):

report_df = pd.DataFrame.from_dict(data_dict,orient='index')

xl_writer = pd.ExcelWriter(path)

report_df.to_excel(xl_writer, sheet_name)

try:

xl_writer.save()

print('Save completed')

except:

print('Error in saving file')

if __name__ == "__main__":

datato_excel(data_dict=total_count())

不知道这是不是您想要的结果,如果有帮助,请采纳一下,谢谢!

结语:以上就是恰卡编程网为大家整理的关于python统计excel合并多少行的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于python统计excel合并多少行的相关内容别忘了在本站进行查找喔。

收藏
分享
海报
0 条评论
7
上一篇:自学python学多久可以兼职(2023年最新分享) 下一篇:django代码中怎么调用view(2023年最新整理)

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码