#上面row_values(number)中的表示想要获取哪一行的索引值,比如获取第一行的值,就是row_values(0) 返回值的type为list 整行整列的数据获取,python给出了直接的方法,那么获取整张表数据呢,就需要用到for循环进行遍历每一个单元格 python判断数据框有几行几列 启动ipython notebook,加载pylab环境: ipython notebook...
python获取总共有多少列?
导读:很多朋友问到关于python获取总共有多少列的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
指定从第几行读取列表python1.打开表格
table=xlrd.open("path_to_your_excel",'rb')
一般时候需要进行判断,防止表格打开错误
try:
table=xlrd.open("path_to_your_excel",'rb')
exceptException,e
printstr(e)
当表格打开错误时,可以捕获异常
2.一个表格中可以包含多个工作簿
那么需要用到哪个工作簿
python提供了三种获取方式
sheet1=table.sheet()[1]or
sheet1=table.sheet_by_index()or
sheet1=table.sheet_by_name("sheetname")
3.上一步我们已经获取到具体的sheet(工作簿)
那么根据需求,python提供了获取表格行数列数的方法
获取行数:nrows=sheet.nrows
获取列数:ncols=sheet.cols
返回值type为int
获取列数或行数可能是为了后续需要进行遍历内部的数据而用,那么下面来说python提供可以获取某一行或者某一列值的方法
4.获取某行某列的值
获取某一行的值:
nrow_value=sheet.row_values(number)
获取某一列的值:
ncol_value=sheet.col_values(number)
#上面row_values(number)中的表示想要获取哪一行的索引值,比如获取第一行的值,就是row_values(0)
返回值的type为list
整行整列的数据获取,python给出了直接的方法,那么获取整张表数据呢,就需要用到for循环进行遍历每一个单元格
python判断数据框有几行几列启动ipython
notebook,加载pylab环境:
ipython
notebook
--pylab=inline
pandas提供了io工具可以将大文件分块读取,测试了一下性能,完整加载9800万条数据也只需要263秒左右,还是相当不错了。
import
pandas
as
pd
reader
=
pd.read_csv('dat
dataframepython怎么查看所有列什么意思?查dataframe一共多少行吗?
直接len(df['列名']),取一列求长度即可。
怎样用python,读取excel中的一列数据用python读取excel中的一列数据步骤如下:
1、首先打开dos命令窗,安装必须的两个库,命令是:pip3install?xlrd;Pip3installxlwt。
2、准备好excel。
3、打开pycharm,新建一个excel.py的文件,首先导入支持库importxlrdimportxlwt。
4、要操作excel,首先得打开excel,使用open_workbook(‘路径’),要获取行与列,使用nrows(行),ncols(列),获取具体的值,使用cell(row,col).value。
5、要在excel里写入值,就要使用write属性,重点说明写入是用到xlwt这个支援库,思路是先新建excel,然后新建页签B,然后将一组数据写入到B,最后保存为excel.xls。
怎么用python读取excel表格的数据一、读excel表
读excel要用到xlrd模块,官网安装()。然后就可以跟着里面的例子稍微试一下就知道怎么用了。大概的流程是这样的:
1、导入模块
复制代码代码如下:
importxlrd
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模块,官网下载()。大致使用流程如下:
1、导入模块
复制代码代码如下:
importxlwt
2、创建workbook(其实就是excel,后来保存一下就行)
复制代码代码如下:
workbook=xlwt.Workbook(encoding='ascii')
3、创建表
复制代码代码如下:
worksheet=workbook.add_sheet('MyWorksheet')
4、往单元格内写入内容
复制代码代码如下:
worksheet.write(0,0,label='Row0,Column0Value')
5、保存
复制代码代码如下:
workbook.save('Excel_Workbook.xls')
由于我的需求比较简单,所以这上面没遇到什么问题,唯一的就是建议还是用ascii编码,不然可能会有一些诡异的现象。
当然xlwt功能远远不止这些,他甚至可以设置各种样式之类的。附上一点例子
复制代码代码如下:
ExamplesGeneratingExcelDocumentsUsingPython'sxlwt
HerearesomesimpleexamplesusingPython'sxlwtlibrarytodynamicallygenerateExceldocuments.
Pleasenoteausefulalternativemaybeezodf,whichallowsyoutogenerateODS(OpenDocumentSpreadsheet)filesforLibreOffice/OpenOffice.Youcancheckthemoutat:
TheSimplestExample
importxlwt
workbook=xlwt.Workbook(encoding='ascii')
worksheet=workbook.add_sheet('MyWorksheet')
worksheet.write(0,0,label='Row0,Column0Value')
workbook.save('Excel_Workbook.xls')
FormattingtheContentsofaCell
importxlwt
workbook=xlwt.Workbook(encoding='ascii')
worksheet=workbook.add_sheet('MyWorksheet')
font=xlwt.Font()#CreatetheFont
font.name='TimesNewRoman'
font.bold=True
font.underline=True
font.italic=True
style=xlwt.XFStyle()#CreatetheStyle
style.font=font#ApplytheFonttotheStyle
worksheet.write(0,0,label='Unformattedvalue')
worksheet.write(1,0,label='Formattedvalue',style)#ApplytheStyletotheCell
workbook.save('Excel_Workbook.xls')
AttributesoftheFontObject
font.bold=True#Maybe:True,False
font.italic=True#Maybe:True,False
font.struck_out=True#Maybe:True,False
font.underline=xlwt.Font.UNDERLINE_SINGLE#Maybe:UNDERLINE_NONE,UNDERLINE_SINGLE,UNDERLINE_SINGLE_ACC,UNDERLINE_DOUBLE,UNDERLINE_DOUBLE_ACC
font.escapement=xlwt.Font.ESCAPEMENT_SUPERSCRIPT#Maybe:ESCAPEMENT_NONE,ESCAPEMENT_SUPERSCRIPT,ESCAPEMENT_SUBSCRIPT
font.family=xlwt.Font.FAMILY_ROMAN#Maybe:FAMILY_NONE,FAMILY_ROMAN,FAMILY_SWISS,FAMILY_MODERN,FAMILY_SCRIPT,FAMILY_DECORATIVE
font.charset=xlwt.Font.CHARSET_ANSI_LATIN#Maybe: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#C8inHex(indecimal)=10pointsinheight.
font.name=?
font.outline=?
font.shadow=?
SettingtheWidthofaCell
importxltw
workbook=xlwt.Workbook()
worksheet=workbook.add_sheet('MySheet')
worksheet.write(0,0,'MyCellContents')
worksheet.col(0).width=3333#3333=1"(oneinch).
workbook.save('Excel_Workbook.xls')
EnteringaDateintoaCell
importxlwt
importdatetime
workbook=xlwt.Workbook()
worksheet=workbook.add_sheet('MySheet')
style=xlwt.XFStyle()
style.num_format_str='M/D/YY'#Otheroptions:D-MMM-YY,D-MMM,MMM-YY,h:mm,h:mm:ss,h:mm,h:mm:ss,M/D/YYh:mm,mm:ss,[h]:mm:ss,mm:ss.0
worksheet.write(0,0,datetime.datetime.now(),style)
workbook.save('Excel_Workbook.xls')
AddingaFormulatoaCell
importxlwt
workbook=xlwt.Workbook()
worksheet=workbook.add_sheet('MySheet')
worksheet.write(0,0,5)#Outputs5
worksheet.write(0,1,2)#Outputs2
worksheet.write(1,0,xlwt.Formula('A1*B1'))#Shouldoutput"10"(A1[5]*A2[2])
worksheet.write(1,1,xlwt.Formula('SUM(A1,B1)'))#Shouldoutput"7"(A1[5]+A2[2])
workbook.save('Excel_Workbook.xls')
AddingaHyperlinktoaCell
importxlwt
workbook=xlwt.Workbook()
worksheet=workbook.add_sheet('MySheet')
worksheet.write(0,0,xlwt.Formula('HYPERLINK("";"Google")'))#Outputsthetext"Google"linkingto
workbook.save('Excel_Workbook.xls')
MergingColumnsandRows
importxlwt
workbook=xlwt.Workbook()
worksheet=workbook.add_sheet('MySheet')
worksheet.write_merge(0,0,0,3,'FirstMerge')#Mergesrow0'scolumns0through3.
font=xlwt.Font()#CreateFont
font.bold=True#SetfonttoBold
style=xlwt.XFStyle()#CreateStyle
style.font=font#AddBoldFonttoStyle
worksheet.write_merge(1,2,0,3,'SecondMerge',style)#Mergesrow1through2'scolumns0through3.
workbook.save('Excel_Workbook.xls')
SettingtheAlignmentfortheContentsofaCell
importxlwt
workbook=xlwt.Workbook()
worksheet=workbook.add_sheet('MySheet')
alignment=xlwt.Alignment()#CreateAlignment
alignment.horz=xlwt.Alignment.HORZ_CENTER#Maybe:HORZ_GENERAL,HORZ_LEFT,HORZ_CENTER,HORZ_RIGHT,HORZ_FILLED,HORZ_JUSTIFIED,HORZ_CENTER_ACROSS_SEL,HORZ_DISTRIBUTED
alignment.vert=xlwt.Alignment.VERT_CENTER#Maybe:VERT_TOP,VERT_CENTER,VERT_BOTTOM,VERT_JUSTIFIED,VERT_DISTRIBUTED
style=xlwt.XFStyle()#CreateStyle
style.alignment=alignment#AddAlignmenttoStyle
worksheet.write(0,0,'CellContents',style)
workbook.save('Excel_Workbook.xls')
AddingBorderstoaCell
#Pleasenote:WhileIwasabletofindtheseconstantswithinthesourcecode,onmysystem(usingLibreOffice,)Iwasonlypresentedwithasolidline,varyingfromthintothick;nodottedordashedlines.
importxlwt
workbook=xlwt.Workbook()
worksheet=workbook.add_sheet('MySheet')
borders=xlwt.Borders()#CreateBorders
borders.left=xlwt.Borders.DASHED#Maybe: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,or0x00through0x0D.
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()#CreateStyle
style.borders=borders#AddBorderstoStyle
worksheet.write(0,0,'CellContents',style)
workbook.save('Excel_Workbook.xls')
SettingtheBackgroundColorofaCell
importxlwt
workbook=xlwt.Workbook()
worksheet=workbook.add_sheet('MySheet')
pattern=xlwt.Pattern()#CreatethePattern
pattern.pattern=xlwt.Pattern.SOLID_PATTERN#Maybe:NO_PATTERN,SOLID_PATTERN,or0x00through0x12
pattern.pattern_fore_colour=5#Maybe:8through63.0=Black,1=White,2=Red,3=Green,4=Blue,5=Yellow,6=Magenta,7=Cyan,16=Maroon,17=DarkGreen,18=DarkBlue,19=DarkYellow,almostbrown),20=DarkMagenta,21=Teal,22=LightGray,23=DarkGray,thelistgoeson...
style=xlwt.XFStyle()#CreatethePattern
style.pattern=pattern#AddPatterntoStyle
worksheet.write(0,0,'CellContents',style)
workbook.save('Excel_Workbook.xls')
TODO:ThingsLefttoDocument
-Panes--separateviewswhicharealwaysinview
-BorderColors(documentedabove,butnottakingeffectasitshould)
-Bord2024-09-05