Excel是一种常见的电子表格文件格式,广泛用于数据记录、分析和处理。而Python作为一门强大的编程语言,可以让我们轻松地对Excel表格进行操作和处理,使用Python对Excel进行操作,能够提高效率和灵活性。本文将演示如何用Python轻松操作Excel电子表格,带你一步步领略Python的魔力。
在开始之前,我们需要安装一些Python第三方库,用于对Excel文件进行处理。以下是常用的库:
第三方库 | 说明 |
pandas | 用于数据分析和处理,支持读写Excel文件。 |
openpyxl | 用于读写Excel文件。 |
xlrd | 用于读取Excel文件。 |
xlwt | 用于写入Excel文件。 |
因为您使用的环境的不同,可以使用pip命令进行安装:
pip install pandas
pip openpyxl xlrd xlwt
如果使用Anaconda3,可以使用conda命令进行安装:
conda install pandas -c conda-forge
conda openpyxl xlrd xlwt -c conda-forge
如果conda安装很慢,也可以使用mamba命令进行安装:
mamba install pandas -c conda-forge
mamba openpyxl xlrd xlwt -c conda-forge
正确安装完成后,就可以始使用这些库来处理Excel文件。
首先,我们需要导入相应的库。是废话,但不得不要说。
import导入pandas和openpyxl模块。导入openpyxl的同时,系统会根据需要,自动加载xlrd和xlwt模块。也就是说xlrd和xlwt模块不需要刻意import。
import pandas as pd
import openpyxl
(1)读取Excel文件到DataFrame
使用pandas库的read_excel方法,可以将Excel文件读取到DataFrame对象中,方便进行数据分析和处理。data.xlsx内容如下:
示例代码如下:
# 读取Excel文件
data = pd.read_excel("data.xlsx") #可以根据实际文件名和路径进行修改。
# 打印DataFrame
print(data)
print(data["Station_Name"])
这段代码将data.xlsx文件读取到data变量中,并将其打印输出。你可以根据实际文件名和路径进行修改。在data.xlsx的第一行,有Station_Name、Lat、Lon、PRE_Time_2020等四个字符串,如使用data["Station_Name"]引用,就可以得到Station_Name的所有信息。
(2)读取指定Sheet的Excel文件
如果Excel文件中包含多个Sheet,sheet_name这个参数可以用来指定要读取的表,如果不指定,但有多张表,那么就会读取活动的表(active worksheet)。示例代码如下:
# 读取指定Sheet的Excel文件
data = pd.read_excel("data.xlsx", sheet_name="Sheet1")
# 打印DataFrame
print(data)
这段代码将data.xlsx文件中名为"Sheet1"的Sheet读取到data变量中,并将其打印输出。你可以根据实际情况修改Sheet的名称或使用Sheet的索引。
(3)写入Excel文件
除了读取Excel文件,还可以使用Python将数据写入Excel文件。示例代码如下:
# 创建数据
data = {
'Name': ['张三', '王二', '胖妞'],
'Age': [21, 32, 25],
'City': ['武汉', '北京', '长沙'],
'Sex': ['男', '男', '女']
}
# 创建DataFrame
df = pd.DataFrame(data)
# 写入Excel文件
df.to_excel("data_output.xlsx", index=False)#index=False表示不将索引写入文件
这段代码首先创建了一个包含Name、Age、City和Sex数据字典。然后,通过pd.DataFrame()创建DataFrame对象变量df。最后,使用to_excel()方法将DataFrame写入到data_output.xlsx文件中。index=False表示不将索引写入文件,如果没有此参数,就是将索引写入文件,也就是每行上第一列是数字序号。
index=True或没有此参数,生成的文件内容
(4)修改Excel文件
除了读取和写入,我们还可以使用Python修改Excel文件中的数据、添加新的Sheet等。以下是一个示例代码:
# 打开Excel文件
wb = openpyxl.load_workbook("data.xlsx")
# 获取指定Sheet
sheet = wb["Sheet1"]
# 修改单元格数据
sheet["A1"] = "A1_Updated Value"
# 添加新的Sheet
new_sheet = wb.create_sheet("Sheet2")
sheet = wb["Sheet2"]
sheet["A2"] = "A2_Updated Value"
# 保存修改后的Excel文件
wb.save("data_modified.xlsx")
data_modified.xlsx文件的Sheet1页,修改后的内容如下图红框所示:
最后,由于平台规则,只有当您跟我有更多互动的时候,才会被认定为铁粉。如果您喜欢我的文章,可以点个“关注”,成为铁粉后能第一时间收到文章推送。