准备测试数据:
测试数据
打开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())
不知道这是不是您想要的结果,如果有帮助,请采纳一下,谢谢!
可以试下这个。
rowid = sht.UsedRange.Find(userid).Address[1:3]
win32com没有详细文档。更加别提中文的。建议你用xlrd
这个东西不需要win32。文档齐全另外还有xlwt等。
如果一定要用win32com,请参考msdn online。但是未必所有功能都实现了。
不知道你的问题是想问行的什么,我理解成就是判断excel有多少行
判断不为空就行了代码如下:
from openpyxl import load_workbook
wb = load_workbook(filename=r'读取路径.xlsx') ##读取路径
ws = wb.get_sheet_by_name("Sheet1") ##读取名字为Sheet1的sheet表
num = 1
while 1:#设定为死循环
cell = ws.cell(row=num, column=1).value
if cell:
num = num +1
else:
print(num)
exit()
运行结果(已经删除我的路径):