python操作mysql、excel、pdf的示例

  • Post category:Python

下面我来详细讲解一下“Python操作MySQL、Excel、PDF的示例”的完整实例教程。

MySQL数据库操作示例

环境准备

首先,需要安装pymysql包:

pip install pymysql

示例1:创建数据库并插入数据

import pymysql

# 连接数据库
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='yourpassword',
    charset='utf8mb4',
)
# 创建数据库
conn.cursor().execute('CREATE DATABASE IF NOT EXISTS mydb')
# 切换到指定数据库
conn.select_db('mydb')

# 创建表
create_table = '''CREATE TABLE IF NOT EXISTS users (
    id INT(11) PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    age INT(11) NOT NULL,
    email VARCHAR(50) NOT NULL
)'''
conn.cursor().execute(create_table)

# 插入数据
insert_data = '''INSERT INTO users(name, age, email) 
    VALUES ('Tom', 25, 'tom@example.com'),
           ('Jerry', 23, 'jerry@example.com'),
           ('Lucy', 28, 'lucy@example.com')'''
conn.cursor().execute(insert_data)
conn.commit()

这个示例中,我们先连接到MySQL数据库,然后创建一个名为mydb的数据库,在mydb数据库中创建一个名为users的表格,并向其中插入三条记录。

示例2:查询数据并输出

import pymysql

# 连接数据库
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='yourpassword',
    charset='utf8mb4',
)
# 切换到指定数据库
conn.select_db('mydb')

# 查询数据
query_data = 'SELECT id, name, age, email FROM users'
with conn.cursor() as cursor:
    cursor.execute(query_data)
    data = cursor.fetchall()
    for row in data:
        print('id: {}, name: {}, age: {}, email: {}'.format(
            row[0], row[1], row[2], row[3]))

这个示例中,我们先连接到MySQL数据库,并切换到mydb数据库,然后执行一条简单的SELECT查询,并将结果输出到控制台。在上面的输出中,我们可以看到id、name、age和email四个字段的值。

Excel文件操作示例

环境准备

Excel文件操作需要安装openpyxl包:

pip install openpyxl

示例1:创建Excel文件并写入数据

import openpyxl

# 创建工作簿
wb = openpyxl.Workbook()
# 获取默认的工作表Sheet
sheet = wb.active
# 写入数据
sheet['A1'] = '姓名'
sheet['B1'] = '年龄'
sheet['C1'] = '邮箱'
sheet['A2'] = 'Tom'
sheet['B2'] = 25
sheet['C2'] = 'tom@example.com'
sheet['A3'] = 'Jerry'
sheet['B3'] = 23
sheet['C3'] = 'jerry@example.com'
sheet['A4'] = 'Lucy'
sheet['B4'] = 28
sheet['C4'] = 'lucy@example.com'
# 保存工作簿
wb.save('example.xlsx')

这个示例中,我们使用openpyxl模块创建了一个新的工作簿,然后获取默认的工作表Sheet,并向其中写入了4行3列的数据,最后保存工作簿到example.xlsx文件中。

示例2:读取Excel文件并输出数据

import openpyxl

# 打开工作簿
wb = openpyxl.load_workbook('example.xlsx')
# 获取默认的工作表Sheet
sheet = wb.active
# 输出数据
for row in sheet.iter_rows(min_row=1, max_col=3, values_only=True):
    print('姓名: {},年龄: {},邮箱: {}'.format(row[0], row[1], row[2]))

这个示例中,我们使用openpyxl模块打开了example.xlsx文件并获取了默认的工作表Sheet,然后遍历整个工作表,并输出其中的姓名、年龄和邮箱三列数据。

PDF文件操作示例

环境准备

PDF文件操作需要安装PyPDF2包:

pip install PyPDF2

示例1:合并多个PDF文件

import PyPDF2
import os

# 获取当前目录下所有PDF文件
pdf_files = [f for f in os.listdir('.') if f.endswith('.pdf')]
pdf_files.sort()
# 创建PDF写入对象
pdf_writer = PyPDF2.PdfFileWriter()
# 合并PDF文件
for pdf_file in pdf_files:
    with open(pdf_file, 'rb') as f:
        pdf_reader = PyPDF2.PdfFileReader(f)
        for page_num in range(pdf_reader.numPages):
            pdf_writer.addPage(pdf_reader.getPage(page_num))
# 保存合并后的PDF文件
with open('merged.pdf', 'wb') as f:
    pdf_writer.write(f)

这个示例中,我们首先获取当前目录下所有PDF文件,并使用PyPDF2模块创建了一个新的PDF写入对象,然后遍历所有PDF文件,使用PdfFileReader读取并合并文件中的所有页面,最后使用PdfFileWriter将页面写入新的PDF文件merged.pdf。

示例2:提取PDF文件文本

import PyPDF2

# 打开PDF文件
with open('example.pdf', 'rb') as f:
    pdf_reader = PyPDF2.PdfFileReader(f)
    # 遍历所有页面
    for page_num in range(pdf_reader.numPages):
        pdf_page = pdf_reader.getPage(page_num)
        # 提取文本
        page_text = pdf_page.extractText()
        print(page_text)

这个示例中,我们使用PyPDF2模块打开了一个名为example.pdf的PDF文件,然后遍历每个页面,并使用extractText提取每个页面的文本内容,并将其打印输出到控制台。