① 如何用python对一个EXCEL文件中的数据进行分拣
import pandas as pd
df=pd.read_excel('d:/数据分拣.xlsx')
df1=df.整数[df.整数 % 2!=0]
df2=df.整数[df.整数 % 2==0]
ddf=pd.DataFrame([df.整数.values,df1.values,df2.values],index=['整数','奇数','偶数']).T
ddf.to_excel('d:/分拣.xlsx',index=None)
② 如何使用python或者宏对excel中数据进行统计重复次数
在Python中pandas库用于数据处理,我们从1787页的pandas官网文档中总结出最常用的36个函数,通过这些函数介绍如何通过Python完成数据生成和导入,数据清洗,预处理,以及最常见的数据分类,数据筛选,分类汇总,透视等最常见的操作。
③ python和哪个第三方库组合能处理Excel数据
Python和第三方库组合处理Excel数据的有很多,常见的有:xlwings、xlsxwriter、openpyxl、xlwt、xlrd、xluntils、pyExcelerator等等。
不同的库用法也有些不同,其实个人觉得首先还是需要把Excel本身用好,本身用好了,其他编程的用起来就会省事得多了。
④ 用python读取excel,怎样显示要查找的数据
感觉还是CSV格式的好处理一些,EXCEL的要装插件,以CSV为例,给一段代码
sqlserver char 对应c#
import linecache
o=open('d:\\test\\14.csv')#文件路径
o.seek(0)
r=o.readlines()
s1=str(input('输入要定位的信息:'))
a=0
count=0
for i in r: #按和值组合查找
if i.find(s1)>=0:
print r[a-1]#显示上一行
print i#显示定位行
print r[a+1]#显示下一行
a+=1
print 'Total:%d'%count
例:
在以下数据中,查找含有T的行,并显示上一行(n行) or 下一行(n行) 。
1,2,3,4
W,R,GFR,T
12,,F,34,G
⑤ python对比两张EXCEL表,将不同的数据生成新表
import pandas as pd
# 数据表 a
df1 = pd.read_excel('C:/Users/Jelly/Desktop/a.xlsx')['名称']
# 数据表 b
df2 = pd.read_excel('C:/Users/Jelly/Desktop/b.xlsx')
# 筛选标记为2的名称
df2 = df2[df2['标记'] == 2]['名称']
# 数据表 a 转换为列表
aList = list(df1)
# 表头
columns = ['名称']
cList = []
# 遍历数据表 b
for k in df2:
# 判断 标记为2的名称是否在数据表中
if k not in aList:
# 输出
print(k)
cList.append(k)
df3 = pd.DataFrame(cList, columns=columns)
# 保存新数据表
df3.to_excel('c.xlsx', index=0)
c
⑥ python 筛选excel中符合条件的数据
用for循环遍历csv文件,取出来的都是数据列表list,继续用for遍历并用if条件判断取出就可以了,希望能帮助到你!
⑦ 用python给excel某一列提取出来
可以用pandas库很方便的进行读取
import pandas as pd
#获取d盘根目录下工作簿4这个EXCEL文件的Sheet2工作表中的D列(第3列)内容
df=pd.read_excel(r'd:/工作簿4.xlsx',sheet_name='Sheet2',usecols=[2])
print(df)
⑧ python对excel表格内容做正则过滤脚步
安装pandas库。
将之前收集到的文件信息重新构建成绝对路径以便读取,同时使用endswith()判断文件名后缀为.xlsx,使用pandas的read_excel()进行读取。
其中sheet_name=可用表名或者数字,0代表第一个表,1代表第二个表,'sheet1’代表读取sheet1表。
⑨ 如何用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")