python对比两张EXCEL表,将不同的数据生成新表?

2024-05-16 13:29

1. python对比两张EXCEL表,将不同的数据生成新表?

import pandas as pd# 数据表 adf1 = pd.read_excel('C:/Users/Jelly/Desktop/a.xlsx')['名称']# 数据表 bdf2 = pd.read_excel('C:/Users/Jelly/Desktop/b.xlsx')# 筛选标记为2的名称df2 = df2[df2['标记'] == 2]['名称']# 数据表 a 转换为列表aList = list(df1)# 表头columns = ['名称']cList = []# 遍历数据表 bfor 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)


a

b

c

python对比两张EXCEL表,将不同的数据生成新表?

2. python如何对excel数据进行处理

在python语言中,可以使用xlrd和xlwt两个库操作excel。
在python语言中处理Excel的方法:
在python项目中,新建python文件,并依次导入xlrd和xlwt。
接着调用open_workbook()方法,打开一个excel文件
调用sheet_by_name()方法,读取文件的sheet页
如果是后面加了个s,sheet_names表示获取excel中所有的sheet页
利用sheets()方法加序号,可以获取某个sheet页对象
如果想要获取excel某个sheet页中记录的总数,使用nrows
在cell()中传入两个值,一个行一个列,然后value获取对应单元格的值
推荐:python视频教程以上就是小编分享的关于python如何对excel数据进行处理的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!

3. 怎么用python把一个*。csv 文件里面的数据整合成一个表格

假设你这里是一个大文件。用CSV缺省配置不能读大文件。我们自己写一个。
def readfile(fn):    fp=open(fp,'rb')    while True:        line=fp.readline()        if not line:break        line=line.strip()        yield line.split(',')    fp.close() import os,sys,time,glob files = glob.glob("*.csv") data = {} for fn in files:     record_number=0     for cols in readline(fn):        if record_number==0:           for name in cols: data[name]=[]        else:           for c in cols:               data[name].append(c)        record_number+=1#end这样就把所有的文件都读到一个data变量里了,而且是按列存放的。

怎么用python把一个*。csv 文件里面的数据整合成一个表格

4. python类中提取数据,怎样从一个类中把数据单独取出并引用?

return或者前面加self

5. python怎么把一个列表中的特定子元素(元组)提取出来组成一个新列表?(构造新元组?)

list2 = [i[0] for i in list1]

python怎么把一个列表中的特定子元素(元组)提取出来组成一个新列表?(构造新元组?)

6. 用python把数据处理成列表格式

貌似每行数据都是11个么,这就好办了。假设你的数据在d.txt中
#!/usr/local/bin/python3pat2=list()f=open('d.txt')for l in f.readlines():    ll=l.strip().split(',')    ll=[int(x) for x in ll]    pat2.append([ll[1:-1],[ll[-1]]])f.close()print(repr(pat2))

7. python怎么读取excel的数据

最近由于经常要用到Excel,需要根据Excel表格中的内容对一些apk进行处理,手动处理很麻烦,于是决定写脚本来处理。首先贴出网上找来的读写Excel的脚本。1.读取Excel(需要安装xlrd):

123456789101112131415161718192021222324
#-*- coding: utf8 -*-import xlrd  fname = "reflect.xls"bk = xlrd.open_workbook(fname)shxrange = range(bk.nsheets)try: sh = bk.sheet_by_name("Sheet1")except: print "no sheet in %s named Sheet1" % fname#获取行数nrows = sh.nrows#获取列数ncols = sh.ncolsprint "nrows %d, ncols %d" % (nrows,ncols)#获取第一行第一列数据cell_value = sh.cell_value(1,1)#print cell_value  row_list = []#获取各行数据for i in range(1,nrows): row_data = sh.row_values(i) row_list.append(row_data)

2.写入Excel(需安装pyExcelerator)

12345678
from pyExcelerator import * w = Workbook()  #创建一个工作簿ws = w.add_sheet('Hey, Hades')  #创建一个工作表ws.write(0,0,'bit') #在1行1列写入bitws.write(0,1,'huang') #在1行2列写入huangws.write(1,0,'xuan') #在2行1列写入xuanw.save('mini.xls')  #保存

3.再举个自己写的读写Excel的例子读取reflect.xls中的某些信息进行处理后写入mini.xls文件中。 

1234567891011121314151617181920212223242526272829303132333435363738394041424344
#-*- coding: utf8 -*-import xlrdfrom pyExcelerator import *  w = Workbook()ws = w.add_sheet('Sheet1') fname = "reflect.xls"bk = xlrd.open_workbook(fname)shxrange = range(bk.nsheets)try: sh = bk.sheet_by_name("Sheet1")except: print "no sheet in %s named Sheet1" % fname nrows = sh.nrowsncols = sh.ncolsprint "nrows %d, ncols %d" % (nrows,ncols)  cell_value = sh.cell_value(1,1)#print cell_value  row_list = []mydata = []for i in range(1,nrows): row_data = sh.row_values(i) pkgdatas = row_data[3].split(',') #pkgdatas.split(',') #获取每个包的前两个字段 for pkgdata in pkgdatas:  pkgdata = '.'.join((pkgdata.split('.'))[:2])  mydata.append(pkgdata) #将列表排序 mydata = list(set(mydata)) print mydata #将列表转化为字符串 mydata = ','.join(mydata) #写入数据到每行的第一列 ws.write(i,0,mydata) mydata = [] row_list.append(row_data[3])#print row_list w.save('mini.xls')

4.现在我需要根据Excel文件中满足特定要求的apk的md5值来从服务器获取相应的apk样本,就需要这样做: 

123456789101112131415161718192021222324252627282930313233
#-*-coding:utf8-*-import xlrdimport osimport shutil  fname = "./excelname.xls"bk = xlrd.open_workbook(fname)shxrange = range(bk.nsheets)try: #打开Sheet1工作表 sh = bk.sheet_by_name("Sheet1")except: print "no sheet in %s named Sheet1" % fname#获取行数nrows = sh.nrows#获取列数ncols = sh.ncols#print "nrows %d, ncols %d" % (nrows,ncols)#获取第一行第一列数据cell_value = sh.cell_value(1,1)#print cell_value  row_list = []#range(起始行,结束行)for i in range(1,nrows): row_data = sh.row_values(i) if row_data[6] == "HXB":  filename = row_data[3]+".apk"  #print "%s %s %s" %(i,row_data[3],filename)  filepath = r"./1/"+filename  print "%s %s %s" %(i,row_data[3],filepath)  if os.path.exists(filepath):   shutil.copy(filepath, r"./myapk/")

补充一个使用xlwt3进行Excel文件的写操作。

1234567891011121314151617181920212223242526
import xlwt3 if __name__ == '__main__':         datas = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h']]#二维数组    file_path = 'D:\\test.xlsx'         wb = xlwt3.Workbook()    sheet = wb.add_sheet('test')#sheet的名称为test         #单元格的格式    style = 'pattern: pattern solid, fore_colour yellow; '#背景颜色为黄色    style += 'font: bold on; '#粗体字    style += 'align: horz centre, vert center; '#居中    header_style = xlwt3.easyxf(style)         row_count = len(datas)    col_count = len(datas[0])    for row in range(0, row_count):        col_count = len(datas[row])        for col in range(0, col_count):            if row == 0:#设置表头单元格的格式                sheet.write(row, col, datas[row][col], header_style)            else:                sheet.write(row, col, datas[row][col])    wb.save(file_path)

输出的文件内容如下图:

注:以上代码在Python 3.x版本测试通过。
好了,python操作Excel就这么!些了,简单吧

python怎么读取excel的数据

8. 用Python导出工程文件两个子页里的数据成为两个excel表格,但我想把它合并成个一个excel表格的两个sheet

可以采用一些操作Excel的模块去实现,比如xlrd、xlwt、openpyxl、xlsxwriter等模块。xlrd模块主要用于读取Excel表,xlwt与xlsxwriter模块主要用于将数据写入表中,两个模块任选其一即可,但是xlwt与xlsxwriter模块不支持修改表,所以在信息追加的时候会较麻烦,有些朋友可能这个地方遇到了很大的问题,其实这个问题至少有两种思路解决:
A、换成其他模块,比如openpyxl等,这个模块实现起来会相对简单一些,比如目前已经收到的苏wisdom同学采用的就是这种方法,值得表扬,所以以下方法1会参照苏wisdom同学的答案。此外,截止至目前为止『歹ピ№ㄕ』同学、微雨同学、黄梦颖同学已经提交第二次作业,一并表扬。
B、仍然使用xlwt与xlsxwriter等模块,但是先将每次读取的信息存储到list(列表)中,然后,最后一次写入。这一种方式稍微复杂一些,所以老师在方法2中采用这种方式去写,目的是给大家一个解决方案的参考,有更优的方案可以随时邮箱反馈。
此外,还有一个难点,即一个表格中有多个sheet,我们希望能够用程序自动获取这多个sheet,然后将各sheet中的内容一并写入到最终表格中,目前答案中暂时没有看到解决这个问题,如果大家能解决这个问题,是极好的。各位同学可以参考老师的第二种方法,第二种方式中,考虑了多个sheet的问题,各位也可以对程序进行优化。