导航:首页 > 编程语言 > exal表导入python

exal表导入python

发布时间:2023-03-27 06:30:36

A. python使用xlrd模块操作Excel数据导入的方法

本文实例讲述了Python使用xlrd模块操作Excel数据导入的方法。分享给大家供大家参考。具体分析如下:
xlrd是一个基于python的可以读取excel文件的产品。和pyExcelerator相比,xlrd的主要特点在于读的功能比较强大,提供了表单行数、列数、单元格数据类型等pyExcelrator无法提供的详细信息,使得开发人员无须了解表单的具体结构也能对表单中的数据进行正确的分析转换。
但是xlrd仅仅提供了读取excel文件的功能,不能像pyExcelrator那样生成excel文件。
Python对于office软件excel的读取一般都采用xlrd库:
1)
打开工作表:

代码如下:
import
xlrd
wb
=
xlrd.open_workbook('workbook_name')
wb
=
xlrd.open_workbook(file_contents
=
data)
2)
检查工作表名称,获取工作表:

代码如下:
wb.sheet_names()
sh
=
wb.sheet_by_index(0)
sh
=
wb.sheet_by_name(u'Sheet1')
3)
查询数据:
i.
获取行数,列数:

代码如下:
rows
=
sh.rows
cols
=
sh.cols
ii.
查询行数据:

代码如下:
sh.row_values(row_num)
iii.
查询列数据:
代码如下:
sh.row_values(col_num)
iv.
查询单元格数据:

代码如下:
sh.cel(row_num,
col_num).value
希望本文所述对大家的Python程序设计有所帮助。

B. 如何将excel导入python

读excel要用到xlrd模块,官网安装(http://pypi.python.org/pypi/xlrd)。然后就可以跟着里面的例子稍微试一下就知道怎么用了。大概的流程是这样的:
1、导入模块

import xlrd

2、打开Excel文件读取数据

data = xlrd.open_workbook('excel.xls')

3、获取一个工作表
① table = data.sheets()[0] #通过索引顺序获取
② table = data.sheet_by_index(0) #通过索引顺序获取
③ table = data.sheet_by_name(u'Sheet1')#通过名称获取
4、获取整行和整列的值(返回数组)
table.row_values(i)
table.col_values(i)

5、获取行数和列数

table.nrows
table.ncols

6、获取单元格

table.cell(0,0).value
table.cell(2,3).value

就我自己使用的时候觉得还是获取cell最有用,这就相当于是给了你一个二维数组,余下你就可以想怎么干就怎么干了。得益于这个十分好用的库代码很是简洁。但是还是有若干坑的存在导致话了一定时间探索衡和。现在列出来供后人参考吧:

1、首先就是我的统计是根据姓名统计各个表中的信息的,但是调试发现不同的表中各个名字貌似不能够匹配,开始怀疑过编码问题,不过后来发现是因为空格。因为在excel中输入的时候很可能会顺手在一些名字后面加上几个空格或是tab键,这样看起来没什么差别,但是程序处理的时候这就是两个完全不同的串了。岩神我的解决方法是给每个获取的字符串都加上strip()处理一下。效果良好
2、还是字符串的匹配,在判断某个单元格中的字符串(中文)是否等于我所给出的的时候发现无法匹配,并且各种unicode也不太奏效,网络过一些解决方案,但是都比较复杂或是没用。最后我采用了一个比较变通的方式:直接从excel中获取我想要的值再进行比较,效果是不错就是通用行不太好,个呢不能问题还没解决。
二、写excel表
写excel表要用到xlwt模块,官网下载(http://pypi.python.org/pypi/xlwt)。大致使用流程如下:
1、导入模块

复制代码代码如下:
import xlwt

2、创建workbook(其实就是excel,后来保存一下就行)

复制代码代码如下:
workbook = xlwt.Workbook(encoding = 'ascii')

3、创建表

复制代码代码如下:
worksheet = workbook.add_sheet('My Worksheet')

4、往单元格内写入内容

复制代码代码如下:
worksheet.write(0, 0, label = 'Row 0, Column 0 Value')

5、保存

复制代码代码如下咐枣盯:
workbook.save('Excel_Workbook.xls')

C. Python操作Excel

因为工作上的需要,最近经常用Python对报表做Excel导入导出,特此做个笔记,方便日后查看。

首先我选择了Python-Excel下的xlrd和xlwt。需要注意的是,xlwt只支持生成xls,暂时还不支持xlsx。

读取主要是用到这两个方法,我想到就继续补充,更多用法请查阅官方文档

表格样式设置有XFStyle和easyxf两种方式

列宽在Excel里面用字符宽带来表示。xlwt以字符'0'的1/256宽为一个单位,默认表格宽度为2962,大致相当于11个字符宽度。设置Excel的列宽就大致等于,字符宽度 * 256 + 182 (有待继续考证,精度目前还行)

行高再Excel里面一般用磅来表示,磅 * 20 即是xlwt的数值。字体的大小也是用磅来设置。

设置页面方向

使用num_format_str来设置单元格类型。
特别是遇到时间的时候,Excel会自动转为May-2017这种格式,这时候就要设置为文本类型,防止自动转换

D. 1 如何用Python导入Excel以及csv数据集

Excel是一个二进制文件,它保存有关工作簿中所有工作表的信息

CSV代表Comma Separated Values 。这是一个纯文本格式,用逗号分隔一系列值

Excel不仅可以存储数据,还可以对数据进行操作

CSV文件只是一个文本文件,它存储数据,但不包含格式,公式,宏等。它也被称为平面文件

Excel是一个电子表格,将文件保存为自己的专有格式,即xls或xlsx

CSV是将表格信息保存为扩展名为.csv的分隔文本文件的格式

保存在excel中的文件不能被文本编辑器打开或编辑

CSV文件可以通过文本编辑器(如记事本)打开或编辑

excel中会有若干个表单,每个表单都会这些属性: 

行数(nrows) 列数(ncols) 名称(name) 索引(number) 

import xlrd //执行操作前需要导入xlrd库 

#读取文件 

excel = xlrd.open_workexcel("文件地址") //这里表格名称为excel,文件的地址可以从文件的属性中看到 

#读取表格表单数量 

sheet_num= excel.nsheets // sheet_num为变量,其值为表格表单数量 

#读取表格表单名称 

sheet_name = excel.sheet_names() // sheet_name为变量,其值为表格表单名称 

#如果想要看到上述两个变量,可以使用print()函数将它们打印出来 

#想要读取某个表单的数据,首先获取表单 excel.sheet_by_index(0) 

//表单索引从0开始,获取第一个表单对象 excel.sheet_by_name('xxx') 

// 获取名为”xxx”的表单对象 excel.sheets() 

// 获取所有的表单对象 获取单元格的内容:使用cell_value 方法 这里有两个参数:行号和列号,用来读取指定的单元格内容。 

第一行的内容是:sheet.row_values(rowx=0) 

第一列的内容是:sheet.col_values(colx=0)

CSV是英文Comma Separate Values(逗号分隔值)的缩写,文档的内容是由 “,” 分隔的一列列的数据构成的。在python数据处理中也经常用到。

import csv //执行操作前需要导入csv库 

#csv读取 

遍历其中数据 csv_file = csv.reader(open(‘文件地址’,’r’)) for x in csv_file print(x)

E. Python读取Excel表格数据并以字典dict格式存储

  有时我们需要将一个 Excel表格文件 中的全部或一部分数据 导入到Python中 ,并将其通过 字典格式 来搏碰存储;那么如何实现上述操作哗尺呢?

  我们以如下所示的一个表格( .xlsx 格式)作为简单的示例。其中,表格共有两列,第一列为 学号 ,第二列为 姓名 ,且每一行的 学号 都不重复;同时表格的第一基芦谈行为表头。

  假设我们需要将第一列的 学号 数据作为字典的 键 ,而第二列 姓名 数据作为字典的 值 。

  首先,导入必要的库。

  随后,列出需要转换为字典格式数据的Excel文件的路径与名称,以及数据开头所在行、数据的总行数。在这里,由于第一行是表头,因此开头所在行 look_up_table_row_start 就是 2 ;同时这个表格共有32位同学的信息,因此总行数 look_up_table_row_number 就是 32 。

  接下来,我们就可以直接依次读取Excel表格文件中的数据,并将其导入到字典格式的变量 name_number_dict 中。

  至此,大功告成啦~我们来看一看 name_number_dict 此时的状态:

  其中, Key 就是原本Excel中的 学号 , Value (就是右侧的马赛克区域)就是原本Excel中的 姓名 ;还可以从上图的标题中看到,这个字典共有32个 elements ,也就是对应着原本Excel中32位同学的信息。

F. mac上用python导入excel

mac上用python导入excel具体步骤。
1、引用第三方库:进入python环境路径下,使用终端进入该路径。如找不到该路径,可以直接复制pycharm中的python环境路径,在finder搜索,会展示该路径下的文件,右键退回上层文件夹,就能找到安装路径了。安装pythonExcel库中的xlwt/xlrd库,用于写入和读取Excel文件。
2、在指定目录下创建Excel文件。
3、在Excel中添加行或者列。命令行:sheet.write(行,列,value)。该位置的行与列,以0开始为第一行,第一列,如:sheet.write(0,0,序号),表示在Excel的第一行第一列写下字符串:序号。
4、读取Excel中的数据:读取表格中某一行,某一列的数据。读取表格中全部数据。

G. 如何将excel导入python

将txt
文件导入python代码:
import
pandas
as
pd
path='1.txt'
data=pd.read_csv(path,sep='\t')
想要”优雅“导入,建议使用pandas,matplotlib:
import
pandas
as
pd
data
=
pd.read_csv("aaa.csv")
data.columns
#查看表格有哪些列,可以看到有x,
y,
z列
data['x']
#查看x列
data['y']
#查看y列
data['z']
#查看z列
import
matplotlib.pyplot
as
plt
plt.bar(data['x'],
data['y'])
#画柱状图
plt.title('example')
#设置标题
plt.xlabel('x')
#横坐标加说明文字'x'
plt.ylabel('y')
#纵坐标加说明文字'y'
plt.show()
#显示图形

H. 一个Excel表格(53×56)全是数字构成,如何将其作为一个矩阵导入到Python中

还是先把Excel中的输入读取到程序,读到程序中了,你想干嘛就干嘛
前言

在很多应用场景中,程序都需要读取excel的配置。
比如,在游戏中,数值策划用excel 建好了数值表,我们要导入到游戏中。

概述
这里我使用了 pyexcel-xls 这个东西。我个人觉得这个东西导出的数据结构,结构可读性很强,数据结构如下:
整个excel文件,转化为一个字典结构磨桐颂:每个key就是一个子表(Sheet)
每个子表(Sheet),转化为一个二维数组:分别为行和列。

注意,本文对应的版本更新为 pyexcel-xls 0.2.3。

安装

pypi

■ 方法一:
可以直接用pip安装

pip install pyexcel-xls

■ 方法二:

下载安装包手动安装。
先安装两个轮卜依赖包:
xlrd 和 pyexcel-io

然后再安装 pyexcel-xls

使用
一、读excel数据 (xls, xlsx)

1,先建立一个目标excel表,这里为了做演示,简单建立一个 read_test.xlsx 文件:
里面的数据(3行,4列):

2,写python 脚本,读这个文件:

[python] view plain
#! /usr/bin/env python
#coding=utf-8

# pyexcel_xls 以 OrderedDict 结构处理数据
from collections import OrderedDict

from pyexcel_xls import get_data
from pyexcel_xls import save_data

def read_xls_file():
xls_data = get_data(r"D:\read_test.xlsx")
print "Get data type:", type(xls_data)
for sheet_n in xls_data.keys():
print sheet_n, ":", xls_data[sheet_n]

if __name__ == '__main__':
read_xls_file()

看一下输出的打印信息:

可以看到:
整个excel文件,转化为一个OrderedDict (有序字典)结构:每个key就是一个子表(Sheet)。
每个子表(Sheet),转化为一个列表结构:很像二维数组,第一层列表为行(Row),行的下标为列(Column),对瞎郑应的值为单元格的值。编码为 unicode
简单,易用,读出数据后,非常适合做二次处理!
■ 注意,excel文件名(就是那个xls或者xlsx文件),尽量不要用中文,如果您要使用中文,请转化为unicode编码,如:
xls_data = get_data(unicode(r"D:\试试.xlsx", "utf-8"))

二、写excel数据 (xls)
根据上文,写也比较简单,不做过多解释。
[python] view plain
#! /usr/bin/env python
#coding=utf-8

# pyexcel_xls 以 OrderedDict 结构处理数据
from collections import OrderedDict

from pyexcel_xls import get_data
from pyexcel_xls import save_data

def read_xls_file():
xls_data = get_data(unicode(r"D:\试试.xlsx", "utf-8"))
print "Get data type:", type(xls_data)
for sheet_n in xls_data.keys():
print sheet_n, ":", xls_data[sheet_n]
return xls_data

# 写Excel数据, xls格式
def save_xls_file():
data = OrderedDict()
# sheet表的数据
sheet_1 = []
row_1_data = [u"ID", u"昵称", u"等级"] # 每一行的数据
row_2_data = [4, 5, 6]
# 逐条添加数据
sheet_1.append(row_1_data)
sheet_1.append(row_2_data)
# 添加sheet表
data.update({u"这是XX表": sheet_1})

# 保存成xls文件
save_data("D:\write_test.xls", data)

if __name__ == '__main__':
save_xls_file()

看一下写出的xls文件:

好,数据读写完成!

I. 如何把excel导入python并读取内容

读取excel的库很多pd库、xlrd库都可以。
例如

import xlrdfrom xlrd import xldate_as_tupleimport datetime'''xlrd中单元格的数据类型数字一律按浮点型输出,日期输出成一串小数,布尔型输出0或1,所以我们必须在程序中做判断处理转换成我们想要的数据类型0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error'''class ExcelData(): # 初始化方法 def __init__(self, data_path, sheetname): #定义一个属性接收文件路径 self.data_path = data_path # 定义一个属性接收工作表名称 self.sheetname = sheetname # 使用xlrd模块打开excel表读取数据 self.data = xlrd.open_workbook(self.data_path) # 根据工作表的名称获取工作表中的内容(方式①) self.table = self.data.sheet_by_name(self.sheetname) # 根据工作表的索引获取工作表的内容(方式②) # self.table = self.data.sheet_by_name(0) # 获取第一行所有内容,如果括号中1就是第二行,这点跟列表索引类似 self.keys = self.table.row_values(0) # 获取工作表的有效行数 self.rowNum = self.table.nrows # 获取工作表的有效列数 self.colNum = self.table.ncols # 定义一个读取excel表的方法 def readExcel(self): # 定义一个空列表 datas = [] for i in range(1, self.rowNum): # 定义一个空字典 sheet_data = {} for j in range(self.colNum): # 获取单元格数据类型 c_type = self.table.cell(i,j).ctype # 获取单元格数据 c_cell = self.table.cell_value(i, j) if c_type == 2 and c_cell % 1 == 0: # 如果是整形 c_cell = int(c_cell) elif c_type == 3: # 转成datetime对象 date = datetime.datetime(*xldate_as_tuple(c_cell,0)) c_cell = date.strftime('%Y/%d/%m %H:%M:%S') elif c_type == 4: c_cell = True if c_cell == 1 else False sheet_data[self.keys[j]] = c_cell # 循环每一个有效的单元格,将字段与值对应存储到字典中 # 字典的key就是excel表中每列第一行的字段 # sheet_data[self.keys[j]] = self.table.row_values(i)[j] # 再将字典追加到列表中 datas.append(sheet_data) # 返回从excel中获取到的数据:以列表存字典的形式返回 return datasif __name__ == "__main__": data_path = "ttt.xlsx" sheetname = "Sheet1" get_data = ExcelData(data_path, sheetname) datas = get_data.readExcel() print(datas)

阅读全文

与exal表导入python相关的资料

热点内容
java减月份 浏览:62
实变函数与泛函分析基础pdf 浏览:977
在知网下载pdf格式 浏览:391
男的送快递的电影叫什么名字 浏览:647
苹果电脑信任app在哪里设置 浏览:894
当设计师撞程序员 浏览:549
1080p蓝光超清画质影视 浏览:15
ftp是属于什么服务器 浏览:500
素食主义者磁力 浏览:962
免费vip会员电视剧的网址 浏览:718
程序员懂修电脑吗 浏览:309
韩国电影与丈夫 浏览:375
安卓手机怎么打开短信字那么大 浏览:31
服务器如何实现多桌面镜像 浏览:789
上了大嫂韩国电影 浏览:950
java监控命令 浏览:70
极品都市后宫 浏览:386
人妻哺乳电影 浏览:838
乐高解压器价格 浏览:560
云开发服务器价格表 浏览:979