30.修改局部区域内的值

李光朱课程 2024-03-29 00:18:34
案例导入

如下图所示,在导入的数据中,将第2行,“加购件数”列和“支付件数”列的数据修改为2800,700,将第3行,“加购件数”列和“支付件数”列的数据修改为2000,800。输出修改后的表数据,并在同目录下另存为“修改后的sku明细”。添加代码注释。

图1.原始数据表

文心一言提示词

打开百度“文心一言”,输入提示词:“你是pandas专家,文件路径为:D:/Samples/sku明细.xlsx。该Excel文件的第一个工作表中A-E列为给定数据。用pandas导入Excel文件的数据,引擎为"openpyxl"。在导入的数据中,将第2行,“加购件数”列和“支付件数”列的数据修改为2800,700,将第3行,“加购件数”列和“支付件数”列的数据修改为2000,800。输出修改后的表数据,并在同目录下另存为“修改后的sku明细”。添加代码注释。”

显示结果如下:

要完成这个任务,我们首先需要安装pandas库和openpyxl库(如果尚未安装的话)。接下来,我们可以使用pandas的read_excel函数来读取Excel文件,然后对特定的行和列进行修改,最后将修改后的数据框(DataFrame)保存回Excel文件。

以下是完成这些步骤的Python代码:

import pandas as pd# 设置文件路径file_path = 'D:/Samples/sku明细.xlsx'# 使用pandas读取Excel文件,指定引擎为openpyxldf = pd.read_excel(file_path, engine='openpyxl')# 修改第2行(索引为1,因为pandas的索引从0开始)的“加购件数”和“支付件数”列的数据df.loc[1, '加购件数'] = 2800df.loc[1, '支付件数'] = 700# 修改第3行(索引为2)的“加购件数”和“支付件数”列的数据df.loc[2, '加购件数'] = 2000df.loc[2, '支付件数'] = 800# 输出修改后的表数据print(df)# 在同目录下另存为“修改后的sku明细.xlsx”output_file_path = 'D:/Samples/修改后的sku明细.xlsx'df.to_excel(output_file_path, index=False, engine='openpyxl')

这段代码首先导入了pandas库,并设置了文件路径。然后,它使用read_excel函数读取Excel文件,并加载到名为df的DataFrame中。接下来,使用loc函数定位到指定的行和列,并修改其值。最后,使用to_excel函数将修改后的DataFrame保存为一个新的Excel文件。

请注意,loc函数使用行索引和列标签来定位数据。由于我们想要修改的是第2行和第3行的数据,所以索引分别为1和2(因为pandas的索引是从0开始的)。列标签是列的名称,如“加购件数”和“支付件数”。

此外,to_excel函数中的index=False参数表示在保存时不包含行索引,engine='openpyxl'指定了用于写入Excel文件的引擎。

Python编辑器运行

图2.Python运行结果

图3.新生成的数据表

本合集使用的工具如下:

文心一言:3.5版本

Python编辑器:3.9.0

申明:以上结果皆为实际运行结果,如遇到无法运行可在评论区留言。部分数据来自网络,如有侵权请私信告知,感谢!

0 阅读:0

李光朱课程

简介:感谢大家的关注