下面我将为你介绍如何利用Python改正Excel表格数据的完整实例教程。
准备工作
首先,我们需要安装pandas和openpyxl这两个Python库,这两个库可以帮助我们读取和操作excel文件。可以通过以下命令来安装这两个库:
pip install pandas openpyxl
读取Excel表格
首先,我们需要读取Excel表格。可以使用pandas库中的read_excel函数读取Excel文件,具体代码如下:
import pandas as pd
df = pd.read_excel('example.xlsx')
这里,我们将Excel文件读取到一个名为df的pandas.DataFrame对象中。可以使用以下代码查看该对象的前5行数据:
print(df.head())
修改Excel表格数据
我们可以通过pandas库提供的方法修改Excel表格数据。比如,我们可以将所有学生的分数都加10分:
df['score'] = df['score'] + 10
这里,我们通过对score列进行加法运算实现将所有分数加10分。
接下来,我们可以将修改后的数据保存回原Excel文件中。可以使用pandas库提供的方法来完成此操作:
df.to_excel('example.xlsx', index=False)
这里,我们调用to_excel()方法,将修改后的DataFrame对象中数据写入到名为‘example.xlsx’的Excel文件中。index参数被设为False,表示不需要写入行索引。
示例说明
下面,我们通过两个示例说明利用Python改正Excel表格数据的实例:
示例一
假设我们有一个名为‘example.xlsx’的Excel文件,里面记录了3个人的姓名、年龄和成绩,如下所示:
name | age | score |
---|---|---|
张三 | 21 | 85 |
李四 | 20 | 90 |
王五 | 19 | 95 |
现在,我们需要将所有人的成绩都加10分。我们可以通过以下代码来实现:
import pandas as pd
df = pd.read_excel('example.xlsx')
df['score'] = df['score'] + 10
df.to_excel('example.xlsx', index=False)
执行上述代码后,我们打开‘example.xlsx’文件,会发现其中的数据已经被更新,改正了所有人的成绩,如下所示:
name | age | score |
---|---|---|
张三 | 21 | 95 |
李四 | 20 | 100 |
王五 | 19 | 105 |
示例二
假设我们有一个名为‘example.xlsx’的Excel文件,里面记录了一组数值数据,如下所示:
value |
---|
1.2 |
2.3 |
3.5 |
4.6 |
我们需要将其中所有小数点后一位四舍五入,保留到小数点后两位。我们可以通过以下代码来实现:
import pandas as pd
import math
def round_2(num):
return math.floor(num * 100 + 0.5) / 100
df = pd.read_excel('example.xlsx')
df['value'] = df['value'].apply(round_2)
df.to_excel('example.xlsx', index=False)
这里,我们定义了一个辅助函数round_2,用于将数字四舍五入并保留小数点后两位。然后,我们读取‘example.xlsx’文件,将其中的数据读入DataFrame对象中。接着,我们调用apply()方法,将辅助函数round_2应用到‘value’列中的所有数据上。最后,我们将修改后的数据保存回原Excel文件中。
执行上述代码后,我们打开‘example.xlsx’文件,会发现其中的数据已经被更新,小数点后一位已经被四舍五入并保留到小数点后两位,如下所示:
value |
---|
1.20 |
2.30 |
3.50 |
4.60 |
以上就是利用Python改正Excel表格数据的完整实例教程。