python 读取txt 导入list写入excel。 list 多重列表 然后,输入完 里层列表转到 下一行。

python 读取txt 导入list写入excel。 list 多重列表 然后,输入完 里层列表转到 下一行。,第1张

单纯从数据结构上来讲的话,字典的数据结构是散列,也就是哈希表,它是无序的,而列表的数据结构是链表,是有序的,所以想把字典转换成列表并且保持顺序不变,是不可行的。

题主可以使用OrderedDict(Python 27+)有序字典,OrderedDict是dict的子类,它记住了内容添加的顺序。

另外如果想把字典的key转换成列表,使用dictkeys()就可以了。

1确定方案

eg excel data 文件 -> oracle data 文件 (其实导入工具已经至此某些excel格式,不需要python再转换)

2了解中间文件格式,或者定出中间sql文件规约

3选型技术,找python库 google python+excel,选定导入方式

4 开工写code

需要使用xlrd和MySQLdb库,可自行百度下载。

#coding:utf-8

import xlrd

import MySQLdb

data=xlrdopen_workbook(r'F:\test\baseParamxls') #读取表格db="测试" #需要 *** 作的数据库

conn= MySQLdbconnect(

host='localhost',

port = 3306,

user='root',

passwd='123456',

charset='utf8'

) #连接mysql

cur=conncursor()

curexecute("drop database if exists "+db)curexecute("create database "+db)

connselect_db(db) #初始化数据库

sheet_names=datasheet_names()

for sheet_name in sheet_names:

sheet=datasheet_by_name(sheet_name)

row_data=sheetrow_values(0)

row_data=' varchar(256) DEFAULT NULL, 'join(row_data)row_data=row_data+' varchar(256) DEFAULT NULL'

curexecute('create table '+sheet_name+'('+row_data+')') #数据库中创建表格ss=''

for index in range(sheetncols):

ss=ss+'%s, '

ss=ssrstrip(', ')

sql="insert "+ sheet_name+ " values(" +ss +")"param=[]

for index in range(1,sheetnrows):

row_values=sheetrow_values(index)

paramappend(row_values)

curexecutemany(sql,param) #插入数据

conncommit()

curclose()

connclose() #释放数据连接

import xlwt

f = xlwtWorkbook() #创建工作簿

sheet1 = fadd_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheet

l_=[1,2,3,4,5]

for i in range(len(l_)):

    sheet1write(0,i,i)#表格的第一行开始写。第一列,第二列。。。。 

#sheet1write(0,0,start_date,set_style('Times New Roman',220,True))

fsave('textxls')#保存文件

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/12459123.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存