Python处理excel与txt文件详解

  • Post category:Python

下面我将详细讲解“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', '性别': '男'}

上述代码执行过程如下:

  1. 首先,我们使用open()函数打开名为example.txt的文件,并将其赋值给变量file。
  2. 然后,我们使用readlines()方法读取文件中的全部内容,并将其赋值给变量data。由于readlines()方法会将每一行数据都存储为一个字串,并将这些字串存储在列表中,所以此时data是一个列表。
  3. 接着,我们创建了一个名为result的字典,并遍历data中的每一行数据。接着,我们使用split()方法将每一行数据分离成键值对,然后使用strip()方法去掉值中的空格,并将键值对更新到字典result中。
  4. 最后,我们使用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')

上述代码执行过程如下:

  1. 首先,我们使用openpyxl库中的load_workbook()函数打开名为example.xlsx的文件,并将其赋值给变量workbook。
  2. 然后,我们使用workbook[‘Sheet1’]语句获取名为Sheet1的工作表,并将其赋值给变量sheet。
  3. 接着,我们创建了一个名为data的列表,并将要写入表格的数据存储在其中。例如,data[0]是一个列表,其中包含姓名、年龄和性别。
  4. 然后,我们遍历列表data,并将数据写入单元格中。例如,data[0][0]表示姓名,它将被写入到第2行第1列(即B1)的单元格中。注意,在openpyxl中,行和列都从1开始计数,而不是从0开始计数。
  5. 最后,我们使用save()方法保存文件。

到此为止,这个完整的实例教程已经结束了。我希望本教程可以帮助你学习如何使用Python处理excel和txt文件。