如何用python从excel中同时提取两个列的数据,并生成dict(用xlrd)

作者&投稿:丁世 (若有异议请与网页底部的电邮联系)
python如何读取多个excel合并到一个excel中~

思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。
完整代码
# -*- coding: utf-8 -*-#将多个Excel文件合并成一个import xlrdimport xlsxwriter#打开一个excel文件def open_xls(file):fh=xlrd.open_workbook(file) return fh#获取excel中所有的sheet表def getsheet(fh):return fh.sheets()#获取sheet表的行数def getnrows(fh,sheet):table=fh.sheets()[sheet] return table.nrows#读取文件内容并返回行内容def getFilect(file,shnum):fh=open_xls(file)table=fh.sheets()[shnum]num=table.nrows for row in range(num):rdata=table.row_values(row)datavalue.append(rdata) return datavalue#获取sheet表的个数def getshnum(fh):x=0sh=getsheet(fh) for sheet in sh:x+=1return xif __name__=='__main__': #定义要合并的excel文件列表allxls=['F:/test/excel1.xlsx','F:/test/excel2.xlsx'] #存储所有读取的结果datavalue=[] for fl in allxls:fh=open_xls(fl)x=getshnum(fh) for shnum in range(x):print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...")rvalue=getFilect(fl,shnum) #定义最终合并后生成的新文件endfile='F:/test/excel3.xlsx'wb1=xlsxwriter.Workbook(endfile) #创建一个sheet工作对象ws=wb1.add_worksheet() for a in range(len(rvalue)): for b in range(len(rvalue[a])):c=rvalue[a][b]ws.write(a,b,c)wb1.close()print("文件合并完成")1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
源文件excel1:

源文件excel2:
运行结果:

合并后的excel3:

a = [[table.cell(i,ord('A')-ord('A')).value, table.cell(i,ord('B')-ord('A')).value] for i in range(1,nrows)]

import xlrd
data = xlrd.open_workbook('excelFile.xls')
table = data.sheet_by_index(0) #通过索引顺序获取工作表
colnumber_b = ord('B')-ord('A')
colnumber_g = ord('G')-ord('A')
scroe_dict = {}
for i in range(100): #前一百行
  score_dict[table.cell(i,colnumber_b).value]=table.cell(i,colnumber_g).value


import xlrd
data = xlrd.open_workbook('excelFile.xls')
table = data.sheet_by_index(0) #通过索引顺序获取工作表
colnumber_b = ord('B')-ord('A')
colnumber_g = ord('G')-ord('A')
score_dict = {}
for i in range(100): #前一百行
score_dict[table.cell(i,colnumber_b).value]=table.cell(i,colnumber_g).value

import xlrd
data = xlrd.open_workbook('excelFile.xls')
table = data.sheet_by_index(0) #通过索引顺序获取工作表
colnumber_b = ord('B')-ord('A')
colnumber_g = ord('G')-ord('A')
score_dict = {}
for i in range(100): #前一百行
score_dict[table.cell(i,colnumber_b).value]=table.cell(i,colnumber_g).value


Python如何从文件读取数据
现在文件PI_DESC.txt存储在python目录的子文件夹txt中 那么我们读取文本内容的代码得修改为:with open("txt\\PI_DESC.txt") as file_object:contents = file_object.read()print(contents)给open参数传递的参数得给相对路径 在Windows中,使用反斜杠(\\),但是由于python中,反斜杠被视为转义字符,在...

如何用Python编写打印从n到m之间数据的函数?
设a的类型为元组、表、字典中之一;if n>m:n,m=m,n if n>-1 and m<=len(a):print(a[n:m])else:print('n、m越界')

python主要用来干嘛
Python适合财务、设计、运营、策划、销售、HR、金融从业者、电商从业者学习,所设计的行业五花八门。从以上也能看出来,python是很强大的一门语言,可以做:1.系统编程;2.图形处理;3.数学处理;4.文本处理;5.数据库编程;6.网络编程;7.Web编程;8.多媒体应用;9.pymo引擎;10.黑客编程;11.用Python写...

如何用python编程从键盘中输入长方形的长和宽,计算并输出该长?_百度知 ...
\/\/仅供参考 #include <stdio.h> int main(){ double len, wid, cyc, are; scanf ("%lf%lf", &len, &wid); cyc = 2*(len+wid); are = len*wid; printf ("周长:%f\\n面积:%f\\n", cyc, are); return 0;}。在学习过程中,你也会学到如何在实际规模的程序中使用python——诸如...

python中的foriinrange怎么用
3. 带有步长的循环:第三个参数是可选的,表示步长。例如,`range`会生成序列`0, 2, 4, 6, 8`。在循环中,可以通过调整步长来轻松地控制循环的次数和变量的取值。三、示例代码 下面是一个简单的示例,展示了如何使用`for i in range`进行循环:python for i in range: # 从0到4的循环 pri...

如何用Python编程输入一个多位整数,从高位到低位依次输出该整数每个数位...
依次输出,那就是一个一个输出,那么用for循环遍历字符串最方便。输出格式是一行,每个数字间用空格隔开,如果你是一行输出一个数字,输出换成print(i)。

python怎么从excel中读取数据?
VLOOKUP是一个查找函数,给定一个查找的目标,它就能从指定的查找区域中查找返回想要查找到的值。它的基本语法为:VLOOKUP(查找目标,查找范围,返回值的列数,精确OR模糊查找)下面以一个实例来介绍一下这四个参数的使用 例1:如下图所示,要求根据表二中的姓名,查找姓名所对应的年龄。公式:B13 =...

比如字符串是(6 cyl)如何在python中用panda从字符串(6cyl)提取数字6...
可以使用 Python 中的正则表达式库 re 来从字符串中提取数字。以下是一个示例代码,它使用正则表达式从字符串 "(6 cyl)" 中提取数字 6:import re import pandas as pd 创建一个包含字符串的数据帧 df = pd.DataFrame({'col1': ['(6 cyl)']})使用正则表达式从字符串中提取数字 df['col2'...

用python循环输出100以内最大的五个能被3或5整除的数
首先,我们需要了解能被3或5整除的数的特点。这些数可以是3和5的倍数,也可以是它们的公倍数。因此,我们可以从100开始,向下遍历到1,检查每个数是否能被3或5整除,然后将符合条件的数放入一个列表中。最后,我们只需输出这个列表中的前五个最大数即可。下面是使用Python实现的代码:初始化一个空...

如何用Python表示从1加到正无穷整数的和?
a=1 i=1 while True:i+=1 a+=i

渭源县17564926675: 如何用python读excel文件 -
爱新觉罗俊益恒: 想要使用python实现对Excel文件的读写,首先需要安装专用的模块(如果你是大牛可以自己编写)xlrd模块.解压以后启动cmd命令窗口,在其中输入xlrd解压后所在的目录,执行安装命令如图所示(cmd命令的使用请自行百度,本机已经配置好...

渭源县17564926675: 怎样在Excel中使用python脚本 -
爱新觉罗俊益恒: 怎么在Excel中运行python脚本?这个问题由来已久,很多pythoner都希望直接用python控制Excel,但是只能从外部调用,有没有一个VBA的东西可以直接在Excel中运行呢?答案是有,DataNitro就是这么一个东西,看看下面Excel中的界面,他...

渭源县17564926675: 如何用python从excel中同时提取两个列的数据,并生成dict(用xlrd) -
爱新觉罗俊益恒: import xlrd data = xlrd.open_workbook('excelFile.xls') table = data.sheet_by_index(0) #通过索引顺序获取工作表 colnumber_b = ord('B')-ord('A') colnumber_g = ord('G')-ord('A') score_dict = {} for i in range(100): #前一百行 score_dict[table.cell(i,colnumber_b).value]=table.cell(i,colnumber_g).value

渭源县17564926675: python怎么从excel读取数据 -
爱新觉罗俊益恒: 本程序需要导入xlrd包,可读取后缀名为.xls和.xlsx的Excel文件,使用示例如下: import xlrd def read(file, sheet_index=0): """ :param file: 文件路径 :param sheet_index: 读取的工作表索引 :return: 二维数组 """ workbook = xlrd.open...

渭源县17564926675: excel怎么导入python中 -
爱新觉罗俊益恒: 读excel要用到xlrd模块,官网安装(http://pypi.python.org/pypi/xlrd).然后就可以跟着里面的例子稍微试一下就知道怎么用了.大概的流程是这样的:1、导入模块 import xlrd2、打开Excel文件读取数据 data = xlrd.open_workbook('excel.xls')3、获...

渭源县17564926675: 怎样用python,读取excel中的一列数据 -
爱新觉罗俊益恒: 就是把xls or xlsx另存为CSV格式,然后再检索.代码如下,抛砖引玉.# -*- coding: cp936 -*- 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: #按和值组合...

渭源县17564926675: 有哪些方法可以在excel中直接使用python脚本 -
爱新觉罗俊益恒: python又一个库叫xlrd,专门用来解析excle http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html 这是个简单介绍,看看就好

渭源县17564926675: 如何用python把多个excel文件自动合并到一个文件中 -
爱新觉罗俊益恒: 工作中经常用到Excel,很多事情都重复处理,比如每天的日报,每周的周报,各种数据表,这种固定的表其实都是重复性的劳动.最近这段时间一直在学python,但是断断续续的,眼高手低,看别人的代码看的很懂,但是自己就是写不出来,...

渭源县17564926675: 如何利用python对excel文件处理 -
爱新觉罗俊益恒: python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,还可以用win32com和openpyxl模块

渭源县17564926675: python中怎么读取excel中的数据 -
爱新觉罗俊益恒: 把excel当作数据库文件!用数据库连接语句!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网