python获取excel行数

问题描述:python怎么从excel中读取数据? 这篇文章主要介绍了一个有趣的事情,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

python对excel操作

python获取excel行数的相关图片

#导入包

import xlrd

#设置路径

path='C:\\Users\\jyjh\\Desktop\\datap.xlsx'。

#打开文件

data=xlrd.open_workbook(path)。

#查询工作表

sheets=data.sheets()。

sheets

可以通过函数、索引、名称获得工作表。

sheet_1_by_function=data.sheets()[0]。

sheet_1_by_index=data.sheet_by_index(0)。

sheet_1_by_name=data.sheet_by_name(u'Sheet1')。

可以通过方法获得某一列或者某一行的数值。

sheet_1_by_name.row_values(1)。

sheet_1_by_name.col_values(1)。

通过工作表的属性获得行数和列数。

n_of_rows=sheet_1_by_name.nrows。

n_of_cols=sheet_1_by_name.ncols。

也可以用一个循环来遍历一次文件。

for i in range(n_of_rows):。

print sheet_1_by_name.row_values(i)。

可以通过以下的任意一种方式访问单元格的数值。

cell_A1=sheet_1_by_name.cell(0,0).value。

cell_A1=sheet_1_by_name.row(0)[0].value。

cell_A1=sheet_1_by_name.col(0)[0].value。

最后通过以下的方法对单元格的数值进行修改。

row=0

col=0

#ctype 0:empty,1:string,2:number,3:date,4:boolean,5:error。

cell_type=1

value='Hello,Excel'。

cell_A1=sheet_1_by_name.cell(0,0).value。

format=0

sheet_1_by_name.put_cell(row,col,cell_type,value,format)。

cell_A1=sheet_1_by_name.cell(0,0).value。

Python[1]  (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

7月20日,IEEE发布2017年编程语言排行榜:Python高居首位。

怎么用python读取excel表格的数据的相关图片

怎么用python读取excel表格的数据

Python对于Excel的操作是多种多样的,掌握了相关用法就可以随心所欲的操作数据了!

操作xls文件

xlrd(读操作):

import xlrd

1、引入xlrd模块

workbook=xlrd.open_workbook("36.xls")。

2、打开[36.xls]文件,获取excel文件的workbook(工作簿)对象。

names=workbook.sheet_names()。

3、获取所有sheet的名字。

worksheet=workbook.sheet_by_index(0)。

4、通过sheet索引获得sheet对象。

worksheet为excel表第一个sheet表的实例化对象。

worksheet=workbook.sheet_by_name("各省市")。

5、通过sheet名获得sheet对象。

worksheet为excel表sheet名为【各省市】的实例化对象。

nrows=worksheet.nrows。

6、获取该表的总行数

ncols=worksheet.ncols。

7、获取该表的总列数

row_data=worksheet.row_values(n)。

8、获取该表第n行的内容

col_data=worksheet.col_values(n)。

9、获取该表第n列的内容

cell_value=worksheet.cell_value(i,j)。

10、获取该表第i行第j列的单元格内容。

xlwt(写操作):

import xlwt

1、引入xlwt模块

book=xlwt.Workbook(encoding="utf-8")。

2、创建一个Workbook对象,相当于创建了一个Excel文件。

sheet = book.add_sheet('test')。

3、创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。

sheet.write(i, j, '各省市')。

4、向sheet表的第i行第j列,写入'各省市'。

book.save('Data\\36.xls')。

5、保存为Data目录下【36.xls】文件。

操作xlsx文件

openpyxl(读操作):

import openpyxl。

1、引入openpyxl模块。

workbook=openpyxl.load_workbook("36.xlsx")。

2、打开[36.xlsx]文件,获取excel文件的workbook(工作簿)对象。

names=workbook.sheetnames。

worksheet=workbook.worksheets[0]。

worksheet=workbook["各省市"]。

ws = workbook.active。

6、获取当前活跃的worksheet,默认就是第一个worksheet。

nrows=worksheet.max_row。

7、获取该表的总行数

ncols=worksheet.max_column。

8、获取该表的总列数

content_A1= worksheet['A1'].value。

9、获取该表A1单元格的内容。

content_A1=worksheet.cell(row=1,column=1).value。

10、获取该表第1列第1列的内容。

openpyxl(写操作):

workbook=openpyxl.Workbook()worksheet = workbook.active。

3、获取当前活跃的worksheet,默认就是第一个worksheet。

worksheet.title="test"。

4、worksheet的名称设置为"test"。

worksheet = workbook.create_sheet()。

5、创建一个新的sheet表,默认插在工作簿末尾。

worksheet.cell(i,j,'空')。

6、第i行第j列的值改成'空'。

worksheet["B2"]="空"。

7、将B2的值改成'空'

worksheet.insert_cols(1)。

8、在第一列之前插入一列

worksheet.append(["新增","台湾省"])。

9、添加行

workbook.save("Data\\36.xlsx")。

10、保存为Data目录下【36.xlsx】文件。

pandas处理excel文件。

pandas操作:

import pandas as pd。

1、引入pandas模块

data = pd.read_excel('36.xls')。

2、读取[36.xls]或者[36.xlsx]文件。

data = pd.read_csv('36.csv')。

3、读取[36.csv]文件。

data=data.dropna(subset=['店铺'])。

4、过滤掉data店铺列有缺失的数据。

data.sort_values("客户网名", inplace=True)。

5、将data数据按照客户网名列进行从小到大排序。

data = pd.read_csv(36.csv, skiprows = [0,1,2],sep = None, skipfooter = 4)。

6、读取[36.csv]文件,前三行和后四行的数据略过。

data = data.fillna('空')。

7、将data中的空白处填充成'空'。

data.drop_duplicates('订单','first',inplace=True)。

8、data中的数据,按照【订单】列做去重处理,保留第一条数据。

data=pd.DataFrame(data,columns=['订单','仓库'])。

9、只保留data中【订单】【仓库】列的数据。

data = data[(data[u'展现量'] > 0)]。

10、只保留【展现量】列中大于0的数据。

data= data[data["订单"].str.contains('000')]。

11、只保留【订单】列中包含'000'的数据。

data= data[data["仓库"]=='正品仓']。

12、只保留【仓库】列是'正品仓'的数据。

xs= data[data["店铺"]=='南极人']['销售额']。

13、获取店铺是南极人的销售额数据。

data['订单'] = data['订单'].str[3:7]。

14、【订单】列的值只保留4-8个字节的值。

data["邮资"] = np.where((data['店铺'].str.contains('T|t')) & -(data['仓库'] == '代发仓'), 8, data['邮资'])。

15、满足店铺列包含 T 或 t 并且仓库不等于'代发仓'的话,将邮资的值改成8,否则值不变。

data = np.array(data).tolist()。

16、将data从DataFrame转换成列表。

data=pd.DataFrame(data)。

17、将列表转换成DataFrame格式。

zhan = data[u'展现'].sum().round(2)。

18、将data中所有展现列数据求和,并取两位小数。

sum=data.groupby(['店铺'])['刷单'].sum()。

19、将data中按照店铺对刷单进行求和。

counts=data['店铺'].value_counts()。

20、将data按照店铺进行计算。

avg=data.groupby(['店铺'])['刷单'].mean()。

21、将data按照店铺对刷单进行求平均数。

count = pd.concat([counts,sum], axis=1, ignore_index=True, sort=True)。

22、将counts和sum两个DataFrame进行了组合。

count=count.rename(index=str, columns={0: "订单", 1: "成本"})。

23、将新生成的DataFrame列名进行修改。

data = pd.merge(sum, counts, how='left', left_on='店铺', right_on='店铺')。

24、将列表转换成DataFrame格式。

from openpyxl import Workbook 。

wb=Workbook()  。

ws1=wb.active 。

data.to_excel('36.xlsx') 。

wb.close()

25、data完整的写入到关闭过程,执行此操作的时候【36.xlsx】不能是打开状态。

excel格式操作

样式处理:

1、打开【36.xlsx】

sheet=workbook.worksheets[0]。

2、将第一个sheet对象赋值给sheet。

sheet.column_dimensions['A'].width = 20.0。

3、将A列的宽度设置为20

sheet.row_dismensions[1].height = 20.0。

4、将第一行的行高设置为20。

sheet.merge_cells('A1:A2')。

5、将sheet表A1和A2单元格合并。

sheet.unmerge_cells('A1:A2')。

6、将sheet表A1和A2单元格取消合并。

sheet.insert_rows(2,2)。

7、将sheet表从第2行插入2行。

sheet.insert_cols(3,2)。

8、将sheet表从第3列插入2列。

sheet.delete_rows(2)。

9、删除第2行

sheet.delete_cols(3, 2)。

10、将sheet表从第3列开始删除2列。

from openpyxl.styles import Font, Border, PatternFill, colors, Alignment。

11、分别引入字体、边框、图案填充、颜色、对齐方式。

sheet.cell(i,j).font = Font(name='Times New Roman', size=14, bold=True, color=colors.WHITE)。

12、设置sheet表第 i 行第 j 列的字体。

sheet.cell(i,j).alignment = Alignment(horizontal='center', vertical='center')。

13、设置sheet表第 i 行第 j 列的字体对齐方式。

left, right, top, bottom = [Side(style='thin', color='000000')] * 4sheet.cell(i,j).border = Border(left=left, right=right, top=top, bottom=bottom)。

14、引入边框样式并调用

fill = PatternFill("solid", fgColor="1874CD")sheet.cell(1,j).fill = fill。

15、引入填充样式,并调用

import xlrd

from openpyxl import Workbook。

from openpyxl import load_workbook。

workbook=load_workbook(filename='C:/Users/EDZ/Desktop/工作/2021.08.03/大兄弟.xlsx')。

sheet=workbook.active。

sheet.insert_cols(idx=1)。

sheet.merge_cells(A1:A3)。

sheet['A1']=['上海','山东','浙江']。

python怎么读取excel的数据的相关图片

python怎么读取excel的数据

一、读excel表

读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')。

由于我的需求比较简单,所以这上面没遇到什么问题,唯一的就是建议还是用ascii编码,不然可能会有一些诡异的现象。

当然xlwt功能远远不止这些,他甚至可以设置各种样式之类的。附上一点例子。

复制代码代码如下:

Examples Generating Excel Documents Using Python's xlwt。

Here are some simple examples using Python's xlwt library to dynamically generate Excel documents.。

Please note a useful alternative may be ezodf, which allows you to generate ODS (Open Document Spreadsheet) files for LibreOffice / OpenOffice. You can check them out at:http://packages.python.org/ezodf/index.html。

The Simplest Example。

import xlwt

workbook = xlwt.Workbook(encoding = 'ascii')。

worksheet = workbook.add_sheet('My Worksheet')。

worksheet.write(0, 0, label = 'Row 0, Column 0 Value')。

workbook.save('Excel_Workbook.xls')。

Formatting the Contents of a Cell。

import xlwt

workbook = xlwt.Workbook(encoding = 'ascii')。

worksheet = workbook.add_sheet('My Worksheet')。

font = xlwt.Font() # Create the Font。

font.name = 'Times New Roman'。

font.bold = True。

font.underline = True。

font.italic = True。

style = xlwt.XFStyle() # Create the Style。

style.font = font # Apply the Font to the Style。

worksheet.write(0, 0, label = 'Unformatted value')。

worksheet.write(1, 0, label = 'Formatted value', style) # Apply the Style to the Cell。

workbook.save('Excel_Workbook.xls')。

Attributes of the Font Object。

font.bold = True # May be: True, False。

font.italic = True # May be: True, False。

font.struck_out = True # May be: True, False。

font.underline = xlwt.Font.UNDERLINE_SINGLE # May be: UNDERLINE_NONE, UNDERLINE_SINGLE, UNDERLINE_SINGLE_ACC, UNDERLINE_DOUBLE, UNDERLINE_DOUBLE_ACC。

font.escapement = xlwt.Font.ESCAPEMENT_SUPERSCRIPT # May be: ESCAPEMENT_NONE, ESCAPEMENT_SUPERSCRIPT, ESCAPEMENT_SUBSCRIPT。

font.family = xlwt.Font.FAMILY_ROMAN # May be: FAMILY_NONE, FAMILY_ROMAN, FAMILY_SWISS, FAMILY_MODERN, FAMILY_SCRIPT, FAMILY_DECORATIVE。

font.charset = xlwt.Font.CHARSET_ANSI_LATIN # May be: CHARSET_ANSI_LATIN, CHARSET_SYS_DEFAULT, CHARSET_SYMBOL, CHARSET_APPLE_ROMAN, CHARSET_ANSI_JAP_SHIFT_JIS, CHARSET_ANSI_KOR_HANGUL, CHARSET_ANSI_KOR_JOHAB, CHARSET_ANSI_CHINESE_GBK, CHARSET_ANSI_CHINESE_BIG5, CHARSET_ANSI_GREEK, CHARSET_ANSI_TURKISH, CHARSET_ANSI_VIETNAMESE, CHARSET_ANSI_HEBREW, CHARSET_ANSI_ARABIC, CHARSET_ANSI_BALTIC, CHARSET_ANSI_CYRILLIC, CHARSET_ANSI_THAI, CHARSET_ANSI_LATIN_II, CHARSET_OEM_LATIN_I。

font.colour_index = ?。

font.get_biff_record = ?。

font.height = 0x00C8 # C8 in Hex (in decimal) = 10 points in height.。

font.name = ?

font.outline = ?。

font.shadow = ?。

Setting the Width of a Cell。

import xltw

workbook = xlwt.Workbook()。

worksheet = workbook.add_sheet('My Sheet')。

worksheet.write(0, 0, 'My Cell Contents')。

worksheet.col(0).width = 3333 # 3333 = 1" (one inch).。

workbook.save('Excel_Workbook.xls')。

Entering a Date into a Cell。

import xlwt

import datetime。

workbook = xlwt.Workbook()。

worksheet = workbook.add_sheet('My Sheet')。

style = xlwt.XFStyle()。

style.num_format_str = 'M/D/YY' # Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0。

worksheet.write(0, 0, datetime.datetime.now(), style)。

workbook.save('Excel_Workbook.xls')。

Adding a Formula to a Cell。

import xlwt

workbook = xlwt.Workbook()。

worksheet = workbook.add_sheet('My Sheet')。

worksheet.write(0, 0, 5) # Outputs 5。

worksheet.write(0, 1, 2) # Outputs 2。

worksheet.write(1, 0, xlwt.Formula('A1*B1')) # Should output "10" (A1[5] * A2[2])。

worksheet.write(1, 1, xlwt.Formula('SUM(A1,B1)')) # Should output "7" (A1[5] + A2[2])。

workbook.save('Excel_Workbook.xls')。

Adding a Hyperlink to a Cell。

import xlwt

workbook = xlwt.Workbook()。

worksheet = workbook.add_sheet('My Sheet')。

worksheet.write(0, 0, xlwt.Formula('HYPERLINK("http://www.google.com";"Google")')) # Outputs the text "Google" linking to http://www.google.com。

workbook.save('Excel_Workbook.xls')。

Merging Columns and Rows。

import xlwt

workbook = xlwt.Workbook()。

worksheet = workbook.add_sheet('My Sheet')。

worksheet.write_merge(0, 0, 0, 3, 'First Merge') # Merges row 0's columns 0 through 3.。

font = xlwt.Font() # Create Font。

font.bold = True # Set font to Bold。

style = xlwt.XFStyle() # Create Style。

style.font = font # Add Bold Font to Style。

worksheet.write_merge(1, 2, 0, 3, 'Second Merge', style) # Merges row 1 through 2's columns 0 through 3.。

workbook.save('Excel_Workbook.xls')。

Setting the Alignment for the Contents of a Cell。

import xlwt

workbook = xlwt.Workbook()。

worksheet = workbook.add_sheet('My Sheet')。

alignment = xlwt.Alignment() # Create Alignment。

alignment.horz = xlwt.Alignment.HORZ_CENTER # May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED。

alignment.vert = xlwt.Alignment.VERT_CENTER # May be: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED。

style = xlwt.XFStyle() # Create Style。

style.alignment = alignment # Add Alignment to Style。

worksheet.write(0, 0, 'Cell Contents', style)。

workbook.save('Excel_Workbook.xls')。

Adding Borders to a Cell。

# Please note: While I was able to find these constants within the source code, on my system (using LibreOffice,) I was only presented with a solid line, varying from thin to thick; no dotted or dashed lines.。

import xlwt

workbook = xlwt.Workbook()。

worksheet = workbook.add_sheet('My Sheet')。

borders = xlwt.Borders() # Create Borders。

borders.left = xlwt.Borders.DASHED # May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.。

borders.right = xlwt.Borders.DASHED。

borders.top = xlwt.Borders.DASHED。

borders.bottom = xlwt.Borders.DASHED。

borders.left_colour = 0x40。

borders.right_colour = 0x40。

borders.top_colour = 0x40。

borders.bottom_colour = 0x40。

style = xlwt.XFStyle() # Create Style。

style.borders = borders # Add Borders to Style。

worksheet.write(0, 0, 'Cell Contents', style)。

workbook.save('Excel_Workbook.xls')。

Setting the Background Color of a Cell。

import xlwt

workbook = xlwt.Workbook()。

worksheet = workbook.add_sheet('My Sheet')。

pattern = xlwt.Pattern() # Create the Pattern。

pattern.pattern = xlwt.Pattern.SOLID_PATTERN # May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12。

pattern.pattern_fore_colour = 5 # May be: 8 through 63. 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on...。

style = xlwt.XFStyle() # Create the Pattern。

style.pattern = pattern # Add Pattern to Style。

worksheet.write(0, 0, 'Cell Contents', style)。

workbook.save('Excel_Workbook.xls')。

TODO: Things Left to Document。

- Panes -- separate views which are always in view。

- Border Colors (documented above, but not taking effect as it should)。

- Border Widths (document above, but not working as expected)。

- Protection

- Row Styles

- Zoom / Manification。

- WS Props?

Source Code for reference available at: https://secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/。

如何用python读取excel的相关图片

如何用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就这么!些了,简单吧。

pandas如何统计excel中列数据的行数?

用python对excel的读写操作,要用到两个库:xlrd和xlwt,首先下载安装这两个库。

1、#读取Excel

import xlrd

data = xlrd.open_workbook(excelFile)。

table = data.sheets()[0]。

nrows = table.nrows #行数。

ncols = table.ncols #列数。

for i in xrange(0,nrows):。

rowValues= table.row_values(i) #某一行数据。

for item in rowValues:。

print item

2、写Excel文件

'''往EXCEl单元格写内容,每次写一行sheet:页签名称;row:行内容列表;rowIndex:行索引;。

isBold:true:粗字段,false:普通字体'''。

def WriteSheetRow(sheet,rowValueList,rowIndex,isBold):。

i = 0

style = xlwt.easyxf('font: bold 1')。

#style = xlwt.easyxf('font: bold 0, color red;')#红色字体。

#style2 = xlwt.easyxf('pattern: pattern solid, fore_colour yellow; font: bold on;') # 设置Excel单元格的背景色为黄色,字体为粗体。

for svalue in rowValueList:。

strValue = unicode(str(svalue),'utf-8')。

if isBold:

sheet.write(rowIndex,i,strValue,style)。

else:

sheet.write(rowIndex,i,strValue)。

i = i + 1

'''写excel文件''' 。

def save_Excel(strFile):。

excelFile = unicode(strFile, "utf8")。

wbk = xlwt.Workbook()。

sheet = wbk.add_sheet('sheet1',cell_overwrite_ok=True)。

headList = ['标题1','标题2','标题3','标题4','总计']。

rowIndex = 0

WriteSheetRow(sheet,headList,rowIndex,True)。

for i in xrange(1,11):。

rowIndex = rowIndex + 1。

valueList = []

for j in xrange(1,5):。

valueList.append(j*i)。

WriteSheetRow(sheet,valueList,rowIndex,False)。

wbk.save(excelFile)。

style2 = xlwt.easyxf('pattern: pattern solid, fore_colour yellow; font: bold on;')。

原文地址:http://www.qianchusai.com/python%E8%8E%B7%E5%8F%96excel%E8%A1%8C%E6%95%B0.html

anniversary-50

anniversary-50

路由器固件编辑工具,路由器固件编辑工具怎么用

路由器固件编辑工具,路由器固件编辑工具怎么用

sevoflurane,sevoflurane 300麻醉罐

sevoflurane,sevoflurane 300麻醉罐

鲁迅散文精选摘抄赏析,鲁迅散文集优美段落摘抄

鲁迅散文精选摘抄赏析,鲁迅散文集优美段落摘抄

为字都有哪些用法,为字都有哪些用法和意义

为字都有哪些用法,为字都有哪些用法和意义

exbitch吉他和弦

exbitch吉他和弦

形容专宠的成语,形容专宠的成语有哪些

形容专宠的成语,形容专宠的成语有哪些

当我在跑步的时候我谈些什么,当我在跑步的时候我谈些什么在线阅读

当我在跑步的时候我谈些什么,当我在跑步的时候我谈些什么在线阅读

cc/盲肠痛在哪个位置图片,盲肠疼痛位于哪个位置

cc/盲肠痛在哪个位置图片,盲肠疼痛位于哪个位置

小米AX6千兆路由器刷openwrt

小米AX6千兆路由器刷openwrt