Python BOT 从 Excel 工作表中提取长列并创建一个数据框来对另一个文件中的一些数字进行编目
我需要创建一个 Python 机器人,从 Excel 文件 1、工作表 1 中提取 C 列,并在文件 2 中进行编目,并计算从 0.00 到 0.99、从 1.00 到 1.99 等的数字总和。 12. 所有 12 以上的数字都编入最后一行。然后我需要计算所有数字的总和。
我尝试编写一些代码,但它没有在 Excel 文件上写入任何内容。
正确答案
您可以尝试以下方法;
- 读取 excel 数据文件(excel 文件 1),仅选择所需的列(“c 列”)。
- 创建值 0.00 - 0.99、1.00 - 1.99、2.00 - 2.99、3.00 - 3.99(最多 12 个)的数组,并使用它创建一个新数据帧 (df_write),将数据帧中的值分组到数组范围内。获取每个范围的计数。
- 对大于 12 的值进行计数,并将其作为新行添加到 df_write。
- 对数据帧中的所有值求和,并将其作为新行添加到 df_write。
- 将数据框写入 excel。在示例中,xlsxwriter 用作引擎,这意味着每次运行代码时都会创建/覆盖工作簿(目录文件)。
- 表格中可以包含其他数据/格式。例如,更改单元格中的文本并添加公式来计算所有分组范围值的总数,该总数应等于从 excel 数据文件(datafile)读取的总行数。
import pandas as pd datafile = "Excel File 1.xlsx" catalogfile = 'Excel File 2.xlsx' column = 'column C' ### Read specific column (column) from Excel Sheet df_read = pd.read_excel(datafile, index_col=None, na_values=['NA'], usecols=[column]) # print(df_read) ### Create the dataframe of values within specified ranges to write to Excel ### Group ranges 0.00 - 0.99 in increments of 1 and make a count of each up to a max (12) df_write = df_read.groupby(pd.cut(df_read[column], [float(i) - 0.01 for i in range(0, 13)])).count() ### Count values greater than 12 and add as row to the dataframe df_write.loc['12+'] = df_read[df_read > 12].count() ### Sum all values in the column and add as row to the dataframe df_write.loc[len(df_write.index) + 1] = df_read.sum() ### Rename Index Header df_write.index.name = 'Range Totals' ### Rename Column Header df_write.columns = ['Values Count'] ### Write dataframe to Excel ### Using default engine Xlsxwriter so new workbook is created (any existing workbook is overwritten) with pd.ExcelWriter(catalogfile) as writer: df_write.to_excel(writer, sheet_name='Sheet1', index=True) ### Xlsxwriter formatting workbook = writer.book cell_format = workbook.add_format() cell_format.set_bold(True) ws = writer.sheets['Sheet1'] ### Rename Row Header and add formula to count the totals for each range ### (should equal the total number of data rows read from Excel) ws.write(df_write.size, 0, 'Column Total', cell_format) ws.write_row(df_write.size + 1, 0, ['Total Rows', '=SUM(B2:B14)'], cell_format) ws.autofit()
对于从数据文件读取的包含 100 行数据(即排除 hader)的列,excel 工作表的外观示例。
“范围总计”列是数据框中的索引列。范围文本由数据框确定,但实际上涵盖范围 0.00 - 0.99、1.00 - 1.99、2.00 - 2.99、3.00 - 3.99 等。
如果需要,在写入 excel 时可以从数据框中删除索引列,并使用 xlsxwriter 将自定义文本写入列,或者使用具有现有标题的模板(在这种情况下,excelwriter 需要附加模式和 openpyxl 作为引擎写入现有工作簿)。
以上是Python BOT 从 Excel 工作表中提取长列并创建一个数据框来对另一个文件中的一些数字进行编目的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。 Python以简洁和强大的生态系统着称,C 则以高性能和底层控制能力闻名。

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python在游戏和GUI开发中表现出色。1)游戏开发使用Pygame,提供绘图、音频等功能,适合创建2D游戏。2)GUI开发可选择Tkinter或PyQt,Tkinter简单易用,PyQt功能丰富,适合专业开发。

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。

要在有限的时间内最大化学习Python的效率,可以使用Python的datetime、time和schedule模块。1.datetime模块用于记录和规划学习时间。2.time模块帮助设置学习和休息时间。3.schedule模块自动化安排每周学习任务。

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。
