
import os,xlrd,json |
import ksycopg2 |
#读取文件夹下面所有的xls文件 |
def listdir(path): #传入根目录 |
for file in os.listdir(path): |
file_path = os.path.join(path, file) #获取绝对路径 |
if os.path.isdir(file_path): #如果还是文件夹,就继续迭代本函数 |
listdir(file_path) |
elif os.path.splitext(file_path)[1] == '.xls' or os.path.splitext(file_path)[1] == '.xlsx': #判断文件是否是Excel文件 |
file_list.append(file_path) |
return file_list #返回Excel文件路径列表 |
#将读取的每一个xls文件插入数据库 |
def parse(file_path): |
conn = ksycopg2.connect(database="Test", user="SYSTEM", password="SYSTEM", host="127.0.0.1", port="54323") |
cur = conn.cursor() |
file = xlrd.open_workbook(file_path) |
sheets = file.sheet_names() |
for i in sheets: |
sheet = file.sheet_by_name(i) |
row_num = sheet.nrows #获取行数 |
for i in range(1, row_num): |
l = sheet.row_values(i) |
Snum = l[0] |
Score = l[1] |
sqlNonQuery = "insert into ql_ry (username,sfz) values ('%s',%d)" % (Snum, Score) |
print(sqlNonQuery) |
cur.execute(sqlNonQuery) |
conn.commit() |
if __name__ == '__main__': |
file_list = [] |
f = open('portal.txt', 'w', encoding='utf-8') |
path = r'C:\Users\mlinux\Desktop\xlss' |
#path = input("请输入文件夹路径: ") |
file_list = listdir(path) |
for file_name in file_list: |
print('start translating',file_name) |
#读取Excel所有的sheet到字典 |
parse(file_name) |



