用python将SQL格式文件改成自己想要的格式

本文介绍了一个Python脚本,用于将特定格式的SQL文件批量转换为TXT格式,并保存到指定目录。此脚本能读取目录下所有SQL文件,将每条SQL插入语句转换成由竖线分隔的数据格式。
INSERT INTO TTT (NSAME, ID, AGE) VALUES ('AAA', '201023210816', '22');


将上面的SQL格式改成以下的格式


AAA|201023210816|22

import os

lists=[]
paths = os.getcwd()

for root,dirs,files in os.walk('wfyh'):
    for fn in files:
        lists.append(fn)



for nmb in lists:
    dfile=open("wfyh\\"+nmb,'r')
    nmbb=nmb.replace('.sql','')
    ofile=open("wf_test\\"+nmbb+'.txt','w')
    lists=[]
    for line in dfile:
        m=line.split('(')[2].replace(');','').replace(', ','|').replace('\'','')
        t = ''.join(m.split())
        lists.append(t)
    for linet in lists:
        ofile.write(linet+'\n')

dfile.close()
ofile.close()

将转换好格式的txt文件写入一个目录内
要将代码从连接MySQL数据库改为读取本地的SQL文件,可以按照以下步骤进行: 1. **读取本地SQL文件**:使用Python的内置函数`open()`和`read()`来读取本地的SQL文件。 2. **解析SQL文件内容**:将读取到的内容解析为可处理的数据格式。 3. **绘制图表**:使用解析后的数据绘制图表。 以下是修改后的代码示例: ```python import matplotlib.pyplot as plt def read_sql_file(file_path): with open(file_path, 'r') as file: content = file.read() return content def parse_sql_content(content): lines = content.split('\n') data = [] for line in lines: if line.strip(): parts = line.split(',') name = parts[0].strip() value = float(parts[1].strip()) data.append((name, value)) return data def draw(data): name_list = [item[0] for item in data] data_list = [item[1] for item in data] plt.plot(name_list, data_list, marker='.', color='r') plt.title('CO2') plt.xlabel('year') plt.ylabel('CO2(mg/L)') plt.tick_params(direction='in') # 刻度向里 plt.show() def main(): file_path = 'path_to_your_sql_file.sql' # 替换为你的SQL文件路径 sql_content = read_sql_file(file_path) data = parse_sql_content(sql_content) draw(data) if __name__ == "__main__": main() ``` ### 解释 1. **`read_sql_file(file_path)`**:读取指定路径的SQL文件内容。 2. **`parse_sql_content(content)`**:将读取到的SQL文件内容按行分割,并解析每一行的数据。假设每行的数据格式为 `年份, CO2值`。 3. **`draw(data)`**:使用解析后的数据绘制图表。 4. **`main()`**:主函数,调用上述函数完成整个流程。 ### 注意事项 - 确保SQL文件的路径正确。 - SQL文件中的数据格式应与解析逻辑一致,例如每行的数据格式为 `年份, CO2值`。 - 如果SQL文件中有多条插入语句或其他内容,可能需要进一步调整解析逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值