python实现从远程服务器读取 JSON 文件、解析内容并将其存储到 MySQL 表中,然后删除已解析的文件

        创建一个 Python 脚本,利用 Paramiko 库连接到远程服务器,读取 JSON 文件、解析内容并将其存储到 MySQL 表中,最后删除文件。

import paramiko
import json
import MySQLdb
import os

# SSH 连接参数
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname='your_remote_server_ip', username='your_username', password='your_password')

# 远程目录和文件名
remote_directory = '/path/to/remote/directory/'
file_name = 'your_file.json'

# 本地存储文件的临时路径
local_temp_path = '/local/temp/path/' + file_name

# 从远程服务器下载文件到本地
sftp_client = ssh_client.open_sftp()
sftp_client.get(remote_directory + file_name, local_temp_path)
sftp_client.close()

# 解析 JSON 文件内容
with open(local_temp_path, 'r') as json_file:
    data = json.load(json_file)

# 连接 MySQL 数据库
db = MySQLdb.connect(host="your_mysql_host", user="your_mysql_username", passwd="your_mysql_password", db="your_database_name")
cursor = db.cursor()

# 解析 JSON 数据并插入到 MySQL 表中
for item in data:
    # 假设 JSON 文件中有字段 'field1', 'field2',您需要根据实际情况修改字段和表名
    sql = "INSERT INTO your_table_name (field1, field2) VALUES (%s, %s)"
    cursor.execute(sql, (item['field1'], item['field2']))

db.commit()
db.close()

# 删除已解析的文件
os.remove(local_temp_path)

ssh_client.close()
  • your_remote_server_ip: 远程服务器 IP 地址。
  • your_usernameyour_password: 用于 SSH 登录的用户名和密码。
  • '/path/to/remote/directory/'your_file.json: 远程服务器上 JSON 文件的路径和文件名。
  • '/local/temp/path/'local_temp_path: 本地临时路径用于存储下载的文件。
  • MySQL 连接相关的信息:your_mysql_hostyour_mysql_usernameyour_mysql_passwordyour_database_name
  • 表名和字段名:your_table_namefield1field2 等根据您的实际数据库表结构修改。

你可能感兴趣的:(服务器,运维,python)