下面给出一个用Python修改Excel表某一列内容的完整实例教程。
准备工作
首先需要安装Python的pandas库和openpyxl库。
pip install pandas openpyxl
然后需要准备一个Excel表格,在这个例子中我们使用一个示例表格 example.xlsx
,该表格有三列数据:id
、name
和 age
,其中 id
是整型,name
和 age
分别是字符串型和整型。
读取Excel文件
首先我们需要使用 pandas
库读取数据文件,可以使用 read_excel()
函数读取一个 Excel 文件。例如:
import pandas as pd
df = pd.read_excel('example.xlsx')
这个代码会读取当前路径下的 example.xlsx
表格并将其存储到一个 pandas 的 DataFrame 对象 df
中。我们可以使用 head()
函数来查看前几行数据。例如:
print(df.head())
输出结果如下:
id name age
0 1 Tom 20
1 2 Bob 25
2 3 John 30
3 4 Jack 35
4 5 Mark 22
修改指定列数据
要修改 Excel 表格中的指定列数据,需要首先选定列,然后对列进行操作。这里给出两个示例说明。
示例1:修改指定列的所有数据
假设现在我们要修改 age
列的所有数据,将其加上 5。可以使用下列代码实现:
df['age'] = df['age'] + 5
上述代码中, df['age']
表示选定 age
列, +5
表示在原来的基础上加上 5。
经过上述操作,df
中的数据将会被改变。可以使用 head()
函数查看修改后的结果。例如:
print(df.head())
输出结果如下:
id name age
0 1 Tom 25
1 2 Bob 30
2 3 John 35
3 4 Jack 40
4 5 Mark 27
示例2:修改指定列的部分数据
假设现在我们要修改 age
列的的 id=1
和 id=5
的数据,将其加上 3。可以使用下列代码实现:
df.loc[df['id'].isin([1, 5]), 'age'] = df.loc[df['id'].isin([1, 5]), 'age'] + 3
上述代码中,df['id'].isin([1, 5])
表示选取 id
列中匹配值为 1 或者 5 的行,df.loc[...]
表示选取对应的数据,并且在选定的数据上进行修改。 age
列的数据加上 3,表示原来的基础上加上 3。
经过上述操作,df
中的数据将会被改变。可以使用 head()
函数查看修改后的结果。例如:
print(df.head())
输出结果如下:
id name age
0 1 Tom 28
1 2 Bob 30
2 3 John 35
3 4 Jack 40
4 5 Mark 30
保存修改后的Excel文件
修改后的数据需要保存到 Excel 表格中,可以使用 openpyxl
库实现。下面给出保存 Excel 表格的完整代码示例:
import pandas as pd
from openpyxl import load_workbook
# 读取数据文件
df = pd.read_excel('example.xlsx')
# 修改数据
df['age'] = df['age'] + 5
df.loc[df['id'].isin([1, 5]), 'age'] = df.loc[df['id'].isin([1, 5]), 'age'] + 3
# 保存 Excel 文件
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')
writer.book = load_workbook('example.xlsx')
writer.sheets = {ws.title: ws for ws in writer.book.worksheets}
df.to_excel(writer, index=False)
writer.save()
上述代码中,我们创建一个 ExcelWriter
对象,指定输出文件名。然后,用 load_workbook
函数打开数据文件后,将数据写入后保存就可以了。
以上就是使用 Python 修改 Excel 表格中指定列的内容的完整实例教程。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用python修改excel表某一列内容的操作方法 - Python技术站