如何将上面数据文件转换成INSEPT
时间: 2024-03-18 13:39:13 浏览: 16
假设你有一个数据文件 `/path/to/data/file.txt`,其中每行包含一条数据,例如:
```
7369,SMITH,CLERK,7902,17-DEC-80,800,,20
7499,ALLEN,SALESMAN,7698,20-FEB-81,1600,300,30
7521,WARD,SALESMAN,7698,22-FEB-81,1250,500,30
7566,JONES,MANAGER,7839,02-APR-81,2975,,20
7654,MARTIN,SALESMAN,7698,28-SEP-81,1250,1400,30
7698,BLAKE,MANAGER,7839,01-MAY-81,2850,,30
7782,CLARK,MANAGER,7839,09-JUN-81,2450,,10
7788,SCOTT,ANALYST,7566,19-APR-87,3000,,20
7839,KING,PRESIDENT,,17-NOV-81,5000,,10
7844,TURNER,SALESMAN,7698,08-SEP-81,1500,0,30
7876,ADAMS,CLERK,7788,23-MAY-87,1100,,20
7900,JAMES,CLERK,7698,03-DEC-81,950,,30
7902,FORD,ANALYST,7566,03-DEC-81,3000,,20
7934,MILLER,CLERK,7782,23-JAN-82,1300,,10
```
可以使用以下 Python 脚本将其转换成多条 INSERT 语句:
```
import csv
with open('/path/to/data/file.txt', 'r') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
print("INSERT INTO emp(empno, ename, job, mgr, hiredate, sal, comm, deptno) VALUES ({}, '{}', '{}', {}, '{}', {}, {}, {});".format(row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7]))
```
该脚本使用 Python 的 csv 模块读取数据文件,按行解析每条数据,然后格式化输出多条 INSERT 语句。
将该脚本保存到一个文件中,例如 `/path/to/convert.py`,然后在终端中执行以下命令即可生成多条 INSERT 语句:
```
python /path/to/convert.py > /path/to/output/file.sql
```
该命令将 Python 脚本的输出重定向到一个 SQL 脚本文件中,例如 `/path/to/output/file.sql`。你可以使用该 SQL 脚本文件将数据导入到数据库中。