下面我将详细讲解“Python处理excel与txt文件详解”的完整实例教程。本教程包含以下内容:
- 准备工作
- 处理txt文件
- 处理excel文件
- 示例一:读取txt文件中的数据
- 示例二:将数据写入excel文件
准备工作
在使用python处理excel和txt文件之前,需要安装一些依赖库。其中,pandas库和openpyxl库是必需的。你可以通过以下命令来安装它们:
pip install pandas
pip install openpyxl
处理txt文件
在Python中,读取和处理txt文件非常简单。你可以使用Python内置的open()函数来打开文件并读取其中的内容,而不需要其他任何第三方库。
以下是一个读取txt文件数据并显示的简单示例:
with open('example.txt', 'r') as file:
data = file.read()
print(data)
上面的代码中,我们首先使用open()函数打开example.txt文件,并将其赋值给变量file。然后用read()方法读取文件中的全部内容,并将其赋值给变量data。最后使用print()函数显示数据。
处理excel文件
处理excel文件需要依赖第三方库openpyxl。你可以使用以下命令来安装它:
pip install openpyxl
以下是一个读取excel文件数据并显示的简单示例:
import openpyxl
# 打开文件
workbook = openpyxl.load_workbook('example.xlsx')
# 获取所有工作表
sheets = workbook.sheetnames
for sheet_name in sheets:
# 根据工作表名称获取工作表
sheet = workbook[sheet_name]
for row in sheet.rows:
for cell in row:
# 显示单元格的值
print(cell.value)
上面的代码中,我们首先使用openpyxl库中的load_workbook()函数打开example.xlsx文件,并将其赋值给变量workbook。然后使用sheetnames属性来获取所有工作表的名称,并将其赋值给变量sheets。
接着,我们遍历所有工作表,并使用sheet.rows属性获取每一行的数据。然后再遍历每一行的所有单元格,并使用cell.value属性显示单元格的值。
现在,我们来看看两个示例,分别是读取txt文件和将数据写入excel文件。
示例一:读取txt文件中的数据
假设我们有一个名为example.txt的文件,其内容如下:
姓名:小明
年龄:18
性别:男
现在,我们要使用Python读取example.txt文件,并显示其中的数据。
# 读取txt文件
with open('example.txt', 'r') as file:
# 读取数据
data = file.readlines()
# 处理数据
result = {}
for line in data:
# 分离键值对
key, value = line.split(':')
# 更新字典
result[key] = value.strip()
# 显示结果
print(result)
运行上述代码后,会输出如下结果:
{'姓名': '小明', '年龄': '18', '性别': '男'}
上述代码执行过程如下:
- 首先,我们使用open()函数打开名为example.txt的文件,并将其赋值给变量file。
- 然后,我们使用readlines()方法读取文件中的全部内容,并将其赋值给变量data。由于readlines()方法会将每一行数据都存储为一个字串,并将这些字串存储在列表中,所以此时data是一个列表。
- 接着,我们创建了一个名为result的字典,并遍历data中的每一行数据。接着,我们使用split()方法将每一行数据分离成键值对,然后使用strip()方法去掉值中的空格,并将键值对更新到字典result中。
- 最后,我们使用print()函数输出结果。
示例二:将数据写入excel文件
假设我们有一个名为example.xlsx的文件,其中已经有了一些数据。现在,我们要使用Python将一些新数据写入到该文件中。
import openpyxl
# 打开文件
workbook = openpyxl.load_workbook('example.xlsx')
# 获取工作表
sheet = workbook['Sheet1']
# 更新数据
data = [['小明', 18, '男'], ['小红', 20, '女'], ['小刚', 22, '男']]
for row_index in range(len(data)):
for col_index in range(len(data[row_index])):
# 写入单元格的值
sheet.cell(row=row_index+2, column=col_index+1, value=data[row_index][col_index])
# 保存文件
workbook.save('example.xlsx')
上述代码执行过程如下:
- 首先,我们使用openpyxl库中的load_workbook()函数打开名为example.xlsx的文件,并将其赋值给变量workbook。
- 然后,我们使用workbook[‘Sheet1’]语句获取名为Sheet1的工作表,并将其赋值给变量sheet。
- 接着,我们创建了一个名为data的列表,并将要写入表格的数据存储在其中。例如,data[0]是一个列表,其中包含姓名、年龄和性别。
- 然后,我们遍历列表data,并将数据写入单元格中。例如,data[0][0]表示姓名,它将被写入到第2行第1列(即B1)的单元格中。注意,在openpyxl中,行和列都从1开始计数,而不是从0开始计数。
- 最后,我们使用save()方法保存文件。
到此为止,这个完整的实例教程已经结束了。我希望本教程可以帮助你学习如何使用Python处理excel和txt文件。