ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

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

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_username 和 your_password: 用于 SSH 登录的用户名和密码。
  • '/path/to/remote/directory/' 和 your_file.json: 远程服务器上 JSON 文件的路径和文件名。
  • '/local/temp/path/' 和 local_temp_path: 本地临时路径用于存储下载的文件。
  • MySQL 连接相关的信息:your_mysql_host、your_mysql_username、your_mysql_password 和 your_database_name。
  • 表名和字段名:your_table_name、field1、field2 等根据您的实际数据库表结构修改。
返回列表