① 如何快速找出一个python程序中用到的所有库
方法1:可以调用locals()函数查看当前环境使用的全局变量。res=locals(),输出res即可。
方法2:可以使用pip freeze命令
② python 数据库返回遍历怎么用
from adodbapi import * a = connect(r"Dsn=dsn;Database=remotedb;UID=username;PWD=password") b = a.cursor() b.execute("select count(*) as count from tb1;") ...
③ python 微信怎么查询数据库表内所有内容
我常用pymssql连接M$SQL服务器, 没用过pyodbc, 但按理应该都差不多。
若用pymssql, 从数据库中取数据的过程如下:
import pymssql
connect_setting = {
'host': '127.0.0.1',
'user': 'sa',
'password': '',
'database': 'master',
'charset': 'gb18030'
}
conn = pymssql.connect(**connect_setting)
curr = conn.cursor()
curr.execute("select list, name from nlist")
result = [(lst, name) for lst, name in curr]
curr.close()
conn.close()
关于"如何查询,list的每个值在数据库中对应的Name“
若库表中的数据像下面的样子:
id, name:
1, 'python'
2, 'perl'
3, 'c'
4, 'java'
且每行id是唯一值, 将从数据库表中拿到的数据放到一个字典中:
curr.execute("select id, name from nlist")
dd = dict([(id, name) for id, name in curr])
lst = [1,2,3,4,5,6]
用dd进行转换
[(i, dd.get(i)) for i in lst]
==>
[(1, 'python'), (2, 'perl'), (3, 'c'), (4, 'java'), (5, None), (6, None)]
or
[dd.get(i, i) for i in lst]
==>
['python', 'perl', 'c', 'java', 5, 6]
④ python 如何用循环遍历多重列表
>>> def my_print(s):
....... if type(s) == str:
... ..........print s
... .....else:
... ..........for i in s:
... ..........。。。my_print(i)
...
>>> d = ['li', ['mark', 'jim', 'lily', ['lucy', 'gao']]]
>>> my_print(d)
li
mark
jim
lily
lucy
gao
>>>
⑤ python如何遍历2个list
找两个list元素少的,index遍历完所有的,遍历完后,把此时的index记住。然后直接循环那个较长list的剩余部分。代码可以参考下面的
list1=[1,2,3,4,5,6,7]
list2=['a','b','c','d']
min_length=len(list1)iflen(list1)<len(list2)elselen(list2)
max_length=len(list1)iflen(list1)>len(list2)elselen(list2)
max_list=list1iflen(list1)>len(list2)elselist2
foriinrange(min_length):
printlist1[i]
printlist2[i]
forjinrange(i+1,max_length):
printmax_list[j]
⑥ 如何用python遍历文件夹下的所有excel文件
大数据处理经常要用到一堆表格,然后需要把数据导入一个list中进行各种算法分析,简单讲一下自己的做法:
1.如何读取excel文件
网上的版本很多,在xlrd模块基础上,找到一些源码:
[python]view plain
importxdrlib,sys
importxlrd
defopen_excel(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx"):
data=xlrd.open_workbook(file)
returndata
#根据索引获取Excel表格中的数据参数:file:Excel文件路径colnameindex:表头列名所在行的所以,by_index:表的索引
defexcel_table_byindex(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx",colnameindex=0,by_index=0):
data=open_excel(file)
table=data.sheets()[by_index]
nrows=table.nrows#行数
ncols=table.ncols#列数
colnames=table.row_values(colnameindex)#某一行数据
list=[]
forrownuminrange(1,nrows):
row=table.row_values(rownum)
ifrow:
app={}
foriinrange(len(colnames)):
app[colnames[i]]=row[i]
list.append(app)
returnlist
#根据名称获取Excel表格中的数据参数:file:Excel文件路径colnameindex:表头列名所在行的所以,by_name:Sheet1名称
defexcel_table_byname(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx",colnameindex=0,by_name=u'Sheet1'):
data=open_excel(file)
table=data.sheet_by_name(by_name)
nrows=table.nrows#行数
colnames=table.row_values(colnameindex)#某一行数据
list=[]
forrownuminrange(1,nrows):
row=table.row_values(rownum)
ifrow:
app={}
foriinrange(len(colnames)):
app[colnames[i]]=row[i]
list.append(app)
returnlist
defmain():
tables=excel_table_byindex()
forrowintables:
print(row)
tables=excel_table_byname()
forrowintables:
print(row)
if__name__=="__main__":
main()
最后一句让代码里的函数都可以被复用,简单地说:假设文件名是a,在程序中import a以后,就可以用a.excel_table_byname()和a.excel_table_byindex()这两个超级好用的函数了。
2.然后是遍历文件夹取得excel文件以及路径:,原创代码如下:
[python]view plain
importos
importxlrd
importtest_wy
xpath="E:/唐伟捷/电力/电力系统总文件夹/舟山电力"
xtype="xlsx"
typedata=[]
name=[]
raw_data=[]
file_path=[]
defcollect_xls(list_collect,type1):
#取得列表中所有的type文件
foreach_elementinlist_collect:
ifisinstance(each_element,list):
collect_xls(each_element,type1)
elifeach_element.endswith(type1):
typedata.insert(0,each_element)
returntypedata
#读取所有文件夹中的xls文件
defread_xls(path,type2):
#遍历路径文件夹
forfileinos.walk(path):
foreach_listinfile[2]:
file_path=file[0]+"/"+each_list
#os.walk()函数返回三个参数:路径,子文件夹,路径下的文件,利用字符串拼接file[0]和file[2]得到文件的路径
name.insert(0,file_path)
all_xls=collect_xls(name,type2)
#遍历所有type文件路径并读取数据
forevey_nameinall_xls:
xls_data=xlrd.open_workbook(evey_name)
foreach_sheetinxls_data.sheets():
sheet_data=test_wy.excel_table_byname(evey_name,0,each_sheet.name)
#请参考读取excel文件的代码
raw_data.insert(0,sheet_data)
print(each_sheet.name,":Datahasbeendone.")
returnraw_data
a=read_xls(xpath,xtype)
print("Victory")
⑦ python遍历多重嵌套列表
⑧ python+MySQL: 从多个表中查询数据
int array[];
int i=0;
MergeSort mergeSort = new MergeSort();
array = mergeSort.generateRandArray(10000);
mergeSort.sort(array);
while(i<10000){
⑨ python怎么循环两个列表
python循环两个列表的方法:
用“for i in range()”的这种方法可以循环遍历列表中的所有元素。例如:“for i in range(0,10)”可以循环遍历多个长度为10的列表
示例如下:
执行结果如下:
更多Python知识,请关注:Python自学网!!
⑩ python中列表的遍历
没有优雅的方法解决,只有不要使用print语句,如楼上所说,或者使用python3.X中的print函数(通过
from __future__ import print_function使能print函数形式)
其实,在python2.X手册中对print语句描述说:(python2.7.2官方帮助文档)
一个空格会被自动打印在每个对象前,
除非:(1)还没有输出写到标准输出中
(2)当最后一个写到标准输出的是一个除了空格‘ ’的空白字符
(3)当最后写到标准输出的不是一个print语句。
所以在apple、banana等每个字符前都有一个空格。(apple的a前也有空格呢!)
一个好的解决办法是使用python3.X中的print函数。
通过在文件前面加上:
from __future__ import print_function
就可以使用print的函数形式了。
print函数的语法:
print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout])
默认下,若没有指定sep,则使用空格。没指定end,则使用换行符。没指定输出文件则输出到标准输出。
例如:print('hello','world',sep='-',end='#')输出:
hello-world#
所以,你的程序可改为:
from __future__ import print_function
list = ["apple", "banana", "grape", "orange"]
for x in range(len(list)):
print('list[%d]:'%x,end='')
for y in range(len(list[x])):
print(list[x][y],sep='',end='')
print('')
至于: 'list[%d]:'%x 这里的百分号,是一个对字符串的操作符。百分号使得百分号前面的字符串中
的%d被百分号后的x的值替换掉。