Openpyxl或Pandas,它们更擅长从excel文件中阅读数据并返回相应的值

bqujaahr  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(655)

您好Stack OF社区,

基本上,我的目标是在阅读另一列的数据后,从Excel文件中提取值。*

**

宗地的厚度**,值例如-[0.12,0.12,0.13,0.14,0.14,0.15](标题:厚度(mm))
包裹的重量,值例如-[4.000,3.500,2.500,4.500,5.000,2.000](标题:重量(KG))
Excel档案:

厚度****重量

0.12四千
0.12三千五百
0.13两千五百
0.14四千五百
0.14五千
0.15两千
希望使用Python生成此内容:
厚度重量包裹
0.12 7.500 2个包裹
0.13 2.500 1个包裹
0.14 9.500 2个包裹
0.15 2.000 1个包裹
总计:21.500 6个包裹
将向用户显示可用厚度的所有当前值,并允许用户输入单个厚度值以获得其重量 * 或 * 输入一个范围并获得其重量 *。
因此,你们中的任何人谁可以建议我如何才能轻松有效地完成这项任务。
我将非常感激你的忠告。

  • 请注意:我只学过Python编程语言。*

谢谢你,谢谢你
我已经学习了Openpyxl,但也知道Pandas是一个有效的数据分析工具,所以请让我知道!
谢谢!

roejwanj

roejwanj1#

panda使用openpyxl取决于文件扩展名,无论是pandas.DataFrame.read_excel还是pandas.DataFrame.to_excel。你可以选择panda,因为你只需要一种方法。性能差异(如果有的话)应该不会对你有任何影响。
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html#pandas.read_excel
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_excel.html

kx5bkwkv

kx5bkwkv2#

Pandas实际上使用openpyxl以及其他一些引擎。你可以在documentation中检查引擎字段。我认为pandas的阅读和操作更容易,但如果你需要一些高级格式,你需要直接使用openpyxl。(对于基本情况,pandas就足够了)。
以下是您的问题的基本示例。您需要根据需要更改格式。

import pandas as pd

# uncomment to read the file
# df = pd.read_excel('tmp.xlsx', index_col=None)

df = pd.DataFrame({
    "Thikness": [0.12, 0.12, 0.13, 0.14, 0.14, 0.15],
    "Weight": [4.000, 3.500, 2.500, 4.500, 5.000, 2.000, ],
})

res = df.groupby(["Thikness"], as_index=False).agg(
    Weight=('Weight', sum),
    Count=('Weight', 'count'),
)

# write excel
writer = pd.ExcelWriter('tmp.xlsx', engine='xlsxwriter')
res.to_excel(writer, sheet_name='Sheet1')

相关问题