導航:首頁 > 編程語言 > 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相關的資料

熱點內容
伺服器如何添加域用戶 瀏覽:271
java靜態static 瀏覽:227
程序員容易掉頭發嗎 瀏覽:333
python通用管理系統 瀏覽:204
apachephphtml 瀏覽:141
安慶智能雲伺服器找哪家 瀏覽:763
linuxtab輸入 瀏覽:932
小說網盤資源 瀏覽:504
全免費影視投屏網站 瀏覽:254
娘娘懷孕快生了忍著不生 瀏覽:804
git拉取代碼的命令 瀏覽:995
程序員節西安市 瀏覽:687
單片機的閃燈 瀏覽:969
phpmime映射 瀏覽:583
關鍵特徵分析python 瀏覽:994
linux粘滯位 瀏覽:137
安卓如何把備忘錄調成黑色 瀏覽:864
dhcp伺服器手動分配ip地址 瀏覽:308
阿里雲國內伺服器數量 瀏覽:455
壓縮機安全裕度 瀏覽:228