Python读取Excel

合集下载

python读取数据写入excel的四种操作

python读取数据写入excel的四种操作

python读取数据写⼊excel的四种操作Python对Excel的读写主要有:xlrd、xlwt、xlutils、openpyxl、xlsxwriter⼏种xlutils结合xlrd: 操作的是以xls后缀的excel,读取⽂件保留原格式:加:formatting_info=True常⽤⽅法:1、打开xls:open_workbook(filePath)2、 x1.sheet_names() # 获取所有sheet名字3、 x1.nsheets # 获取sheet数量4、 x1.sheets() # 获取所有sheet对象5、 x1.sheet_by_name("test") # 通过sheet名查找6、 x1.sheet_by_index(3) # 通过索引查找⼀、xlutils结合xlrd可以达到修改excel⽂件⽬的import xlrdfrom xlutils.copy import copyworkbook = xlrd.open_workbook(u'有趣装逼每⽇数据及趋势.xls',formatting_info=True)workbooknew = copy(workbook)ws = workbooknew.get_sheet(0)ws.write_merge(1,1,2,2,'测试测试',style)ws.write(3, 0, 'changed!')workbooknew.save(u'有趣装逼每⽇数据及趋势copy.xls')⼆、xlwt操作的是以xls后缀的excelimport xlwtwk = xlwt.Workbook()sheet = wk.add_sheet('sheet 1')#创建⼀个sheet1sheet.write(0,1,'test text')#第0⾏第⼀列写⼊内容wk.save('test1.xls')三、xlsxwriter 操作的是xlsximport xlsxwriterworkbook = xlsxwriter.Workbook('demo1.xlsx') # 创建⼯作簿并添加⼯作表worksheet = workbook.add_worksheet()worksheet.write('A1', 'Hello world')# 写⼊数据到A1worksheet.merge_range('B4:D4', 'Merged text', merge_format) #合并单元格,⽅法2worksheet.merge_range(3, 1, 3, 3, 'Merged Range', merge_format)format1 = worksheet.add_format({"bold": True}) #写⼊样式worksheet.write(row,1,'=SUM(B1:B4)') #写⼊公式workbook.close() # 关闭excel⽂件四、openpyxl:openpyxl可以对excel⽂件进⾏读写操作,xlsxfrom openpyxl import Workbookfrom openpyxl import load_workbookfrom openpyxl.writer.excel import ExcelWriterworkbook = load_workbook(u"新歌检索失败1477881109469.xlsx") sheetnames =workbook.get_sheet_names() #获得表单名字sheet = workbook.get_sheet_by_name(sheetnames[0])sheet['A1'] = '47'workbook.save(u"新歌检索失败1477881109469_new.xlsx")wb = Workbook()ws = wb.activews['A1'] = 4wb.save("新歌检索失败.xlsx")案例from openpyxl import Workbookfrom openpyxl import load_workbookfrom openpyxl.writer.excel import ExcelWriterworkbook = load_workbook(u'F:\excel_test.xlsx')worksheet = workbook.get_sheet_by_name('Sheet1') worksheet['A1'] = '12321321312'workbook.save(u'F:\EXCEL_new.xlsx')。

python openpyxl 读取示例

python openpyxl 读取示例

Python是一种广泛应用的编程语言,通过使用不同的库和工具,可以实现各种各样的功能。

其中,openpyxl是Python中一个非常受欢迎的库,它可以用来读取、写入和操作Excel文件。

在本文中,我们将介绍如何使用openpyxl库来读取Excel文件的示例。

1. 导入openpyxl库在使用openpyxl库之前,首先需要导入该库。

可以使用以下代码来导入openpyxl库:```pythonimport openpyxl```2. 打开Excel文件一旦导入了openpyxl库,就可以使用openpyxl提供的方法来打开Excel文件。

以下是一个简单的示例:```pythonworkbook = openpyxl.load_workbook('example.xlsx')```在这个示例中,我们假设要打开的Excel文件名为`example.xlsx`。

如果Excel文件不在当前工作目录下,还需要提供文件的具体路径。

3. 选择工作表一旦打开了Excel文件,就可以选择要进行操作的工作表。

以下是一个例子:```pythonsheet = workbook['Sheet1']```在这个示例中,我们选择了Excel文件中的第一个工作表。

如果想要选择其他工作表,只需要将`Sheet1`替换为相应的工作表名称即可。

4. 读取单元格内容接下来,我们可以通过指定单元格的行号和列号来读取单元格中的内容。

以下是一个示例:```pythoncell_value = sheet.cell(row=1, column=1).valueprint(cell_value)```在这个示例中,我们读取了第一个单元格(即第一行第一列)中的内容,并将其打印出来。

5. 遍历工作表除了直接读取单元格外,我们还可以使用循环来遍历整个工作表,并逐个读取单元格中的内容。

以下是一个示例:```pythonfor row in sheet.iter_rows(values_only=True):for cell in row:print(cell)```在这个示例中,我们使用了`iter_rows`方法来遍历工作表中的每一行,然后使用嵌套的循环来遍历每一行中的每一个单元格,并将其内容打印出来。

python 解析 excel 方法

python 解析 excel 方法

Python中有许多库可以解析Excel文件,其中最常用的是pandas和openpyxl。

使用pandas库解析Excel文件的方法如下:1.安装pandas库:可以使用pip命令安装,如pip install pandas。

2.导入pandas库:在代码中添加import pandas as pd。

3.读取Excel文件:使用pd.read_excel()函数读取Excel文件,例如df =pd.read_excel('example.xlsx')。

4.处理数据:可以使用pandas提供的方法对数据进行处理,例如筛选、排序、分组等。

5.保存数据:可以使用to_excel()函数将处理后的数据保存为Excel文件,例如df.to_excel('example_processed.xlsx')。

使用openpyxl库解析Excel文件的方法如下:1.安装openpyxl库:可以使用pip命令安装,如pip install openpyxl。

2.导入openpyxl库:在代码中添加from openpyxl import load_workbook。

3.读取Excel文件:使用load_workbook()函数读取Excel文件,例如wb =load_workbook('example.xlsx')。

4.获取工作表:使用wb['Sheet1']获取名为"Sheet1"的工作表,也可以使用工作表的索引号获取工作表。

5.处理数据:可以使用openpyxl提供的方法对数据进行处理,例如读取单元格的值、修改单元格的值等。

6.保存数据:使用save()函数将修改后的工作簿保存为Excel文件,例如wb.save('example_processed.xlsx')。

用python的pandas读取excel文件中的数据

用python的pandas读取excel文件中的数据

⽤python的pandas读取excel⽂件中的数据⼀、读取Excel⽂件 使⽤pandas的read_excel()⽅法,可通过⽂件路径直接读取。

注意到,在⼀个excel⽂件中有多个sheet,因此,对excel⽂件的读取实际上是读取指定⽂件、并同时指定sheet下的数据。

可以⼀次读取⼀个sheet,也可以⼀次读取多个sheet,同时读取多个sheet时后续操作可能不够⽅便,因此建议⼀次性只读取⼀个sheet。

当只读取⼀个sheet时,返回的是DataFrame类型,这是⼀种表格数据类型,它清晰地展⽰出了数据的表格型结构。

具体写法为:(1)不指定sheet参数,默认读取第⼀个sheet, df=pd.read_excel("data_test.xlsx")(2)指定sheet名称读取, df=pd.read_excel("data_test.xlsx",sheet_name="test1")(3)指定sheet索引号读取, df=pd.read_excel("data_test.xlsx",sheet_name=0) #sheet索引号从0开始*同时读取多个sheet,以字典形式返回。

(不推荐)(1)指定多个sheet名称读取, df=pd.read_excel("data_test.xlsx",sheet_name=["test1","test2"])(2)指定多个sheet索引号读取,df=pd.read_excel("data_test.xlsx",sheet_name=[0,1])(3)混合指定sheet名称和sheet索引号读取,df=pd.read_excel("data_test.xlsx",sheet_name=[0,"test2"])⼆、DataFrame对象的结构 对内容的读取分有表头和⽆表头两种⽅式,默认情形下是有表头的⽅式,即将第⼀⾏元素⾃动置为表头标签,其余内容为数据;当在read_excel()⽅法中加上header=None参数时是不加表头的⽅式,即从第⼀⾏起,全部内容为数据。

python读写Excel文件

python读写Excel文件

python读写Excel⽂件 ⼀、⽤xlrd和xlwt读写excel ⾸先下载安装xlrd和xlwt这两个库。

1、打开excel readbook = xlrd.open_workbook(r'\test\canying.xlsx') 2、获取读⼊的⽂件的sheet sheet = readbook.sheet_by_index(1)#索引的⽅式,从0开始 sheet = readbook.sheet_by_name('sheet2')#名字的⽅式 3、获取sheet的最⼤⾏数和列数 nrows = sheet.nrows#⾏ ncols = sheet.ncols#列 4、获取某个单元格的值 lng = table.cell(i,3).value#获取i⾏3列的表格值 lat = table.cell(i,4).value#获取i⾏4列的表格值 5、打开将写的表并添加sheet writebook = xlwt.Workbook()#打开⼀个excel sheet = writebook.add_sheet('test')#在打开的excel中添加⼀个sheet 6、将数据写⼊excel sheet.write(i,0,result[0])#写⼊excel,i⾏0列 sheet.write(i,1,result[1]) 7、保存 writebook.save('answer.xls')#⼀定要记得保存 相关代码# coding=utf-8import xlrdimport xlwtimport datetimeimport osclass excelProcess:def__init__(self,keywordExcelFile,mainExcelFile):self.keywordExcelFile = keywordExcelFileself.mainExcelFile = mainExcelFiledef WriteLog(self, message,date):fileName = os.path.join(os.getcwd(), date + '.txt')with open(fileName, 'a') as f:f.write(message)def WriteSheetRow(self,sheet, rowValueList, rowIndex, isBold):i = 0style = 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:if isBold:sheet.write(rowIndex, i, svalue, style)else:sheet.write(rowIndex, i, svalue)i = i + 1def save_Excel(self):wbk = xlwt.Workbook()sheet = wbk.add_sheet('sheet1', cell_overwrite_ok=True)headList = ['IR_SITENAME', 'IR_AUTHORS', 'SY_INFOTYPE', 'RID', 'IR_URLTITLE','SY_KEYWORDS','IR_URLNAME', 'IR_URLTIME','IR_GROUPNAME', 'IR_CHANNEL','SY_BB_COMMON', 'summary', 'keyword']rowIndex = 0self.WriteSheetRow(sheet, headList, rowIndex, True)for i in range(1, 11):rowIndex = rowIndex + 1valueList = []for j in range(1, 14):valueList.append(j * i)self.WriteSheetRow(sheet, valueList, rowIndex, False)fileName = os.path.join(os.getcwd(),'test.xlsx')wbk.save(fileName)View Code ⼆、使⽤openpyxl库读写excel xlrd和xlwt处理的是xls⽂件,单个sheet最⼤⾏数是65535,如果有更⼤需要的,建议使⽤openpyxl函数,最⼤⾏数达到1048576。

python openpyxl的用法

python openpyxl的用法

python openpyxl的用法openpyxl是一个用于操作Excel文件的Python库,它能够读取、修改和创建Excel文件,为数据处理和分析提供了便利。

本文将介绍openpyxl库的基本用法,并通过示例来演示它的功能。

一、安装openpyxl库要使用openpyxl库,首先需要安装它。

可以通过以下命令使用pip 来安装openpyxl库:```pip install openpyxl```二、读取Excel文件使用openpyxl库可以方便地读取Excel文件的内容。

下面是一个示例代码,演示了如何读取Excel文件并获取单元格的值:```pythonfrom openpyxl import load_workbook# 打开Excel文件workbook = load_workbook(filename="example.xlsx")# 选择要读取的工作表sheet = workbook["Sheet1"]# 读取指定单元格的值value = sheet["A1"].valueprint(value)```上述代码首先使用`load_workbook`函数打开了名为"example.xlsx"的Excel文件,然后通过指定工作表名称获取该工作表的对象。

接着使用`sheet["A1"].value`获取了"A1"单元格的值,并将其打印出来。

三、修改Excel文件openpyxl库不仅可以读取Excel文件,还可以对其进行修改。

下面是一个示例代码,演示了如何修改Excel文件并保存:```pythonfrom openpyxl import load_workbook# 打开Excel文件workbook = load_workbook(filename="example.xlsx")# 选择要修改的工作表sheet = workbook["Sheet1"]# 修改指定单元格的值sheet["A1"] = "Hello, openpyxl!"# 保存修改后的文件```上述代码首先使用`load_workbook`函数打开了名为"example.xlsx"的Excel文件,然后通过指定工作表名称获取该工作表的对象。

xlswriter读取方法

xlswriter读取方法

xlswriter读取方法读取Excel文件是处理数据分析中常见的任务之一。

Python中有很多库可以用来读取和处理Excel文件,如Pandas、Openpyxl和xlrd等。

其中xlswriter是一个功能强大的库,可用于创建、写入和格式化Excel文件。

本文将介绍如何使用xlswriter库进行Excel文件的读取。

一、安装xlswriter库要使用xlswriter库,首先需要安装它。

使用pip命令可以方便地进行安装,打开终端并输入以下命令安装xlswriter:pip install XlsxWriter二、导入xlswriter库在Python脚本中导入xlswriter库以便使用其功能。

可以使用以下代码导入xlswriter:import xlsxwriter三、打开Excel文件要读取Excel文件,首先需要使用xlswriter打开文件。

使用`xlsxwriter.Workbook()`函数可以创建一个新的Excel文件实例。

例如,要打开名为"example.xlsx"的Excel文件,可以使用以下代码:workbook = xlsxwriter.Workbook('example.xlsx')四、选择工作表在读取Excel文件之前,首先需要选择要读取的工作表。

可以使用`workbook.add_worksheet()`方法创建一个工作表,并给定一个名称。

例如,要选择名为"Sheet1"的工作表,可以使用以下代码:worksheet = workbook.add_worksheet('Sheet1')五、读取单元格内容使用`worksheet.read()`方法可以读取指定单元格的内容。

该方法需要提供要读取的单元格的行和列索引。

例如,读取第1行第1列的单元格内容,可以使用以下代码:cell_value = worksheet.read(0, 0)print(cell_value)六、遍历工作表如果要遍历整个工作表并逐个读取单元格的内容,可以使用嵌套的循环来遍历每一行和每一列。

python处理excel实例

python处理excel实例

python处理excel实例Python是一种强大的编程语言,可以用于各种各样的任务,包括数据处理。

Excel是一个广泛使用的电子表格应用程序,用于处理和管理数据。

Python可以与Excel相结合,提供更高效和灵活的数据处理方式。

下面是一些Python处理Excel的实例:1.读取Excel文件: Python可以使用pandas包中的read_excel 函数读取Excel文件。

下面是一个简单的读取Excel文件的代码示例: import pandas as pd#读取Excel文件data = pd.read_excel('file.xlsx')print(data)2.写入Excel文件: Python也可以使用pandas包中的to_excel 函数将数据写入Excel文件。

下面是一个简单的写入Excel文件的代码示例:import pandas as pd#创建数据data = {'姓名': ['张三', '李四', '王五'], '年龄': [20, 25, 30]}#将数据转换为DataFrame格式df = pd.DataFrame(data)#将DataFrame写入Excel文件df.to_excel('file.xlsx', index=False)3.修改Excel文件: Python可以使用openpyxl包中的load_workbook函数打开Excel文件,并使用它的方法修改文件。

下面是一个简单的修改Excel文件的代码示例:from openpyxl import load_workbook#加载Excel文件wb = load_workbook('file.xlsx')#获取工作表ws = wb.active#修改单元格ws['A1'] = '姓名'ws['B1'] = '年龄'#保存文件wb.save('file.xlsx')这些实例只是Python处理Excel的基础知识,还有很多其他的功能和技巧可以使用。

Python读写EXCEL文件常用方法大全

Python读写EXCEL文件常用方法大全

Python读写EXCEL⽂件常⽤⽅法⼤全前⾔python读写excel的⽅式有很多,不同的模块在读写的讲法上稍有区别,这⾥我主要介绍⼏个常⽤的⽅式。

⽤xlrd和xlwt进⾏excel读写;⽤openpyxl进⾏excel读写;⽤pandas进⾏excel读写;参考:数据准备为了⽅便演⽰,我这⾥新建了⼀个data.xls和data.xlsx⽂件,第⼀个⼯作表sheet1区域“A1:E5”的内容如下,⽤于测试读写excel的代码:xlrd和xlwtxlrd是⼀个库,⽤于从Excel⽂件中以.xls格式读取数据和格式化信息xlwt是⼀个库,⽤于将数据和格式化信息写⼊较旧的Excel⽂件(例如:.xls)。

⽰例pip install xlrdpip install xlwt我们开始来读取⽂件的内容import xlrdimport osfile_path = os.path.dirname(os.path.abspath(__file__))base_path = os.path.join(file_path, 'data.xlsx')book = xlrd.open_workbook(base_path)sheet1 = book.sheets()[0]nrows = sheet1.nrowsprint('表格总⾏数', nrows)ncols = sheet1.ncolsprint('表格总列数', ncols)row3_values = sheet1.row_values(2)print('第3⾏值', row3_values)col3_values = sheet1.col_values(2)print('第3列值', col3_values)cell_3_3 = sheet1.cell(2, 2).valueprint('第3⾏第3列的单元格的值:', cell_3_3)接下来我们来进⾏写⼊,写⼊可以进⾏的操作太多了,我这⾥只列举了常⽤的的操作。

python操作excel----python打开及读取excel表格

python操作excel----python打开及读取excel表格

python操作excel----python打开及读取excel表格from openpyxl import load_workbook# 只能打开已经存在的表格,不能⽤该⽅法创建⼀个新的表格workbook = load_workbook(filename='score.xlsx')# 获取表格⽂件内的所有sheet名称 ['Sheet1', 'Sheet2', 'Sheet3']print(workbook.sheetnames)# 通过sheet名称获取表格# sheet = workbook[workbook.sheetnames[0]]# 如果只有⼀张表,可以直接打开sheet = workbook.active# 获取表格的尺⼨⼤⼩print(sheet.dimensions) # A1:T25# 读取某⼀个格⼦ sheet['B2'] ; 获取⼀系列格⼦ sheet['B'] sheet['B2:B5'] sheet['A:C'] ; sheet[2] 第⼆⾏,按⾏获取cell = sheet['B2']print(cell.value)# 指定⾏列的范围,按⾏获取for row in sheet.iter_rows(min_row=2, max_row=3, min_col=1, max_col=2):print(row)# 指定⾏列的范围,按列获取for col in sheet.iter_cols(min_row=2, max_row=3, min_col=1, max_col=2):print(col)# 迭代整个表格的所有⾏for row in sheet.rows:print(row)# 迭代整个表格的所有列for col in sheet.cols:print(col)# 获取某个格⼦的⾏数、列数、坐标print(cell.row, cell.column, cell.coordinate)# ⽤⾏数和列数定位某⼀个格⼦cell = sheet.cell(row=1, column=1)from openpyxl import load_workbook# 只能打开已经存在的表格,不能⽤该⽅法创建⼀个新的表格workbook = load_workbook filename='score.xlsx'# 获取表格⽂件内的所有sheet名称 ['Sheet1', 'Sheet2', 'Sheet3']print workbook.sheetnames# 通过sheet名称获取表格# sheet = workbook[workbook.sheetnames[0]]# 如果只有⼀张表,可以直接打开sheet = workbook.active# 获取表格的尺⼨⼤⼩print sheet.dimensions# A1:T25# 读取某⼀个格⼦ sheet['B2'] ; 获取⼀系列格⼦ sheet['B'] sheet['B2:B5'] sheet['A:C'] ; sheet[2] 第⼆⾏,按⾏获取cell = sheet'B2'print cell.value# 指定⾏列的范围,按⾏获取for row in sheet.iter_rows min_row=2, max_row=3, min_col=1, max_col=2:print row# 指定⾏列的范围,按列获取for col in sheet.iter_cols min_row=2, max_row=3, min_col=1, max_col=2:print col# 迭代整个表格的所有⾏for row in sheet.rows:print row# 迭代整个表格的所有列for col in sheet.cols:print col# 获取某个格⼦的⾏数、列数、坐标print cell.row, cell.column, cell.coordinate # ⽤⾏数和列数定位某⼀个格⼦cell = sheet.cell row=1, column=1。

python-Excel读取-合并单元格读取

python-Excel读取-合并单元格读取

python-Excel读取-合并单元格读取python-Excel读取-合并单元格读取(后续会补充python-Excel写⼊的部分)1. python读取Excel单元格代码包含读取Excel中数据,以及出现横向合并单元格,以及竖向合并单元格的内容。

英⽂注释标注了函数的功能,后⼜补充了部分中⽂注释。

合并单元格的函数通⽤,可以直接复制拿⾛,传⼊的参数为Excel某sheet表中的数据。

两个列表合并为⼀个字典函数list_dic(list1,list2)也可以直接复制拿⾛,传⼊的参数为两个列表,list1准备作为key,list2准备作为value,key和value位置⼀⼀对应。

__author__ = 'sitong'# !_*_coding:utf-8_*_import xlrdapply_dic = []def get_excel():with xlrd.open_workbook(r'D:\0325.xlsx') as workbook :name_sheets = workbook.sheet_names() #获取Excel的sheet表列表,存储是sheet表名for index in name_sheets: #for 循环读取每⼀个sheet表的内容sheet_info = workbook.sheet_by_name(index) #根据表名获取表中的所有内容,sheet_info也是列表,列表中的值是每个单元格⾥值first_line = sheet_info.row_values(0) #获取⾸⾏,我这⾥的⾸⾏是表头,我打算⽤表头作为字典的key,每⼀⾏数据对应表头的value,每⼀⾏组成⼀个字典values_merge_cell = merge_cell(sheet_info) #这⾥是调⽤处理合并单元格的函数for i in range(1, sheet_info.nrows): #开始为组成字典准备数据other_line = sheet_info.row_values(i)for key in values_merge_cell.keys():if key[0] == i:other_line[key[1]] = values_merge_cell[key]#print(other_line)dic = list_dic(first_line,other_line) #调⽤组合字典的函数,传⼊key和value,字典⽣成apply_dic.append(dic)return apply_dicdef list_dic(list1,list2):'''two lists merge a dict,a list as key,other list as value:param list1:key:param list2:value:return:dict'''dic = dict(map(lambda x,y:[x,y], list1,list2))return dicdef merge_cell(sheet_info):'''#handle Merge transverse cells and handle Merge Vertical Cells, assign empty cells,:param rlow:row, include row exclusive of row_range:param rhigh:row_range:param clow:col, include col exclusive of col_range:param chigh:col_range:param sheet_info:object of sheet:return:dic contain all of empty cells value'''merge = {}merge_cells = sheet_info.merged_cellsfor (rlow, rhigh, clow, chigh) in merge_cells:value_mg_cell = sheet_info.cell_value(rlow, clow)if rhigh-rlow == 1:# Merge transverse cellsfor n in range(chigh-clow-1):merge[(rlow, clow+n+1)] = value_mg_cellelif chigh-clow == 1:# Merge Vertical Cellsfor n in range(rhigh-rlow-1):merge[(rlow+n+1, clow)] = value_mg_cellreturn mergeif__name__ == '__main__':get_excel()。

python读取 excel表格的方法

python读取 excel表格的方法

python读取 excel表格的方法Python提供了多种方法来读取Excel表格数据,以下是几种常用的方法。

1.使用pandas库读取Excel表格:pandas是一个强大的数据处理库,可以方便地读取和操作Excel 表格。

要使用pandas读取Excel表格,首先需要安装pandas库,可以使用以下命令安装:```pip install pandas```接下来,可以使用以下代码读取Excel表格数据:```pythonimport pandas as pd#读取Excel表格的数据data = pd.read_excel('filename.xlsx')#打印数据print(data)```这样可以将Excel表格中的数据读取到一个DataFrame对象中,可以方便地进行进一步的操作和分析。

2.使用openpyxl库读取Excel表格:openpyxl是一个处理Excel表格的库,可以用于读取、写入和操作Excel表格数据。

要使用openpyxl库读取Excel表格,首先需要安装openpyxl库,可以使用以下命令安装:```pip install openpyxl```接下来,可以使用以下代码读取Excel表格数据:```pythonfrom openpyxl import load_workbook#打开Excel文件workbook = load_workbook(filename='filename.xlsx')#选择第一个Sheetsheet = workbook.worksheets[0]#遍历每一行,读取数据for row in sheet.iter_rows(values_only=True):print(row)```这样可以逐行读取Excel表格中的数据,每一行都可以看作是一个包含单元格值的元组。

3.使用xlrd库读取Excel表格:xlrd是一个用于读取Excel表格的库,可以用于读取Excel文件中的数据。

Python文件操作(读写Excel)

Python文件操作(读写Excel)

Python⽂件操作(读写Excel)⽂件读写Excel1.使⽤xlrd读取excel#使⽤xlrd读取excel#1.导⼊模块import xlrd# 2. 使⽤xlrd的函数打开本地⽂件workbook=xlrd.open_workbook('案例.xlsx')#3. 获取⼯作表# sheets=workbook.sheets()#获取所有⼯作表组成list,具体某个表⽤下标# sheetOne=sheets[0]# sheetOne=workbook.sheet_by_index(0)#使⽤函数通过int 获取第⼏张# 返回⼯作表名称组成的列表sheetNames=workbook.sheet_names()sheetOne=workbook.sheet_by_name(sheetNames[0])# ⾏数row=sheetOne.nrows# 列数col=sheetOne.ncols# ⽤for遍历⾏数,输出每⾏for i in range(row):each_row=sheetOne.row_values(i)print(each_row)# ⽤for 遍历列数,输出每列for i in range(col):each_col=sheetOne.col_values(i)print(each_col)# 精确到单元格# 尝试输出第⼆⾏,第⼆列的值,读取列表的⽅式print(sheetOne.row_values(1)[1])# sheetOne.cell(row,col) 获取单元格# 单元格.value 是值# sheetOne.cell_value(row,col)直接返回值print(sheetOne.cell(8,1).value)print(sheetOne.cell_value(8,1))# ⽤循环输出所有单元格的内容# ⽅法⼀# for i in range(row):# eachrow=sheetOne.row_values(i)# for each in eachrow:# print(each)# ⽅法⼆for i in range(row):for j in range(col):print(sheetOne.cell_value(i,j))2.使⽤xlwt模块写⼊excel # 导⼊xlwt模块import xlwt# 创建⼯作簿wb=xlwt.Workbook()#创建⼯作表sheet=wb.add_sheet('newSheet')for i in range(1,10):for j in range(1,i+1):sheet.write(i,j-1,str(j)+'x'+str(i)+'='+str(i*j)) # 保存⽂件wb.save('newExcel.xls')3.使⽤xlutils模块修改excel# 使⽤xlutils模块修改 excelimport xlrdfrom xlutils.copy import copy# xlrd 读取⼯作簿wb=xlrd.open_workbook('案例.xlsx')# 复制⼀份⼯作簿,⽤来写⼊copyed=copy(wb)# 获取复制来的⼯作簿的⼯作表sheetOne=copyed.get_sheet(0)# 使⽤writr()写⼊sheetOne.write(3,0,'我是更改的内容')# 保存,如果保存的⽂件名存在则覆盖,不存在则保存个新的copyed.save('new新存的.xls')4.使⽤openpyxl操作excel#使⽤openpyxl操作excelfrom openpyxl import Workbook# 1. 实例化对象,创建⼯作簿wb=Workbook()# 2. 使⽤第⼀张⼯作表sheet=wb.active# 3. 给表取个名字sheet.title='表的名称1'# 4. 给表增加内容:sheet.append(list类型)sheet.append([1,2,3])# 5.保存⼯作簿wb.save('new1.xlsx')5.⼯作簿属性与⽅法from openpyxl import Workbook # 创建新的⼯作簿from openpyxl import load_workbook # 打开已有⼯作簿# wb = load_workbook('new1.xls') 打开不了 xls 的⽂件wb = load_workbook('F:\Python资料\data.xlsx')'''workbook 的属性:workbook.sheetnames : 所有⼯作表的名字组成的列表workbook.worksheets : 所有⼯作表组成的列表workbook.active : 默认的⼯作表(第⼀张)workbook 的⽅法:workbook.get_sheet_names() : 同 workbook.sheetnamesworkbook.get_active_sheet() : 同 workbook.activeworkbook.get_sheet_by_name(name): 根据name获取 sheetworkbook.create_sheet(sheetname,index) : 创建sheet,以及名称与index位置workbook.save(filename) : 保存'''sheet = wb.create_sheet('新的',2)sheet.append([1,2,3])wb.save('data.xlsx')6.⼯作表属性与⽅法(上)from openpyxl import load_workbookwb = load_workbook('data.xlsx')# 获取表格 wb[ 'sheetname' ]sheet = wb['新的']'''⼯作表的属性:sheet.rows :⾏数对象sheet.columns :列数对象sheet.max_row :有效的最⼤⾏数sheet.min_row :有效的最⼩⾏数sheet.max_column:有效的最⼤列数sheet.min_column:有效的最⼩列数sheet.values :所有单元格的值组成的2维列表。

python 读取excel 表格方法

python 读取excel 表格方法
```
这段代码会输出第一行第一列单元格中的数据。将row和column参数设置为要读取的单元格的行号和列号即可。如果要获取整行或整列的数据,可以使用iter_rows或iter_cols方法。
六、遍历整个工作表
如果需要遍历整个工作表的数据,可以使用iter_rows方法,代码如下:
```python
```
现在,可以开始使用openpyxl库来读取Excel表格了。
三、打开Excel文件
要读取Excel表格,首先需要打开Excel文件。使用openpyxl库的load_workbook函数可以打开一个Excel文件,代码如下:
```python
workbook = openpyxl.load_workbook('example.xlsx')
```python
pip install openpyxl
```
安装完成后,就可以使用openpyxl库来操作Excel表格了。
二、导入openpyxl库
在使用openpyxl库之前,需要先导入它。可以使用以下代码将openpyxl库导入到Python脚本中:
```python
import openpyxl
十、处理大批量Excel文件
在实际工作中,可能需要处理大批量的Excel文件。openpyxl库可以很方便地处理这种情况,可以使用Python的文件操作功能和循环结合openpyxl库来实现批量处理。比如可以遍历文件夹中的所有Excel文件,对其进行读取、修改或合并等操作。
十一、与其他库结合使用
除了openpyxl库外,Python还有许多其他强大的数据处理和可视化库,比如pandas、numpy和matplotlib等。可以将openpyxl库与这些库结合使用,实现更复杂的数据处理和分析。比如可以使用pandas库读取Excel数据并进行分析,然后将分析结果再写回Excel文件中。

python使用xlrd读取excel数据

python使用xlrd读取excel数据

python使⽤xlrd读取excel数据⼀、安装xlrd库的安装我这⾥就不说了..⼆、读取 excel前提条件:excel⽂件名称为 excel_data.xlsx1、打开excelw ⽂件workbook = xlrd.open_workbook(filename) # filename 为excel⽂件路径 + ⽂件名称2、获取 excel 的sheet⼯作表的内容(1)⽐如:获取第⼀个sheet⼯作表的名称,如图贴上代码:get_sheet_name = workbook.sheet_names()[0] # [0]表⽰索引,获取第⼀个sheet⼯作表名称(2)⽐如:获取 excel 所有的sheet⼯作表的名称sheetname = workbook.sheet_names()(3)根据⼯作表的名称获取sheet⼯作表页的对象workbook = xlrd.open_workbook(FileName)get_sheet_name = workbook.sheet_names()[0]sheet2 = workbook.sheet_by_name(get_sheet_name)print(sheet2)输出:<xlrd.sheet.Sheet object at 0x00000181B7CFCA90>(4)根据⼯作表的索引获取sheet⼯作表页的对象workbook = xlrd.open_workbook(FileName)sheet1 = workbook.sheet_by_index(0)print(sheet1)输出:<xlrd.sheet.Sheet object at 0x000001C661A8C9B0>(5)获取sheet⼯作表的⾏数和列数workbook = xlrd.open_workbook(FileName) # 打开⽂件sheet1 = workbook.sheet_by_index(1) # 根据索引获取第⼀个⼯作表的内容(通过更改索引数字1,可以获取第⼏个⼯作表的内容)nrows = sheet1.nrows # 获取sheet⼯作表的⾏数ncols = sheet1.ncols # 获取sheet⼯作表的列数print(nrows)print(ncols)输出:11和7;说明有11⾏和7列(6)获取第1⾏(索引为0)的内容(是⼀个列表)workbook = xlrd.open_workbook(FileName)sheet1 = workbook.sheet_by_index(1)row_data = sheet1.row_values(0)print(row_data)(7)获取第1列(索引为0)的值(是⼀个列表)workbook = xlrd.open_workbook(FileName)sheet1 = workbook.sheet_by_index(1)col_data = sheet1.col_values(0)print(col_data)(8)使⽤⾏列索引(从0开始)获取单元格的数据workbook = xlrd.open_workbook(FileName)sheet1 = workbook.sheet_by_index(1)cell_A1 = sheet1.cell(0, 0)print(cell_A1)(9)将Excel⽂件中的数据转换成json数组import xlrdimport jsondef readexcel(FileName):workbook = xlrd.open_workbook(FileName)sheet1 = workbook.sheet_by_index(1)nrows = sheet1.nrowsidx = sheet1.row_values(0)# 最终的数据列表data = []# 从第1⾏开始遍历循环所有⾏,获取每⾏的数据for i in range(1,nrows):row_data = sheet1.row_values(i)# 组建每⼀⾏数据的字典row_data_dict = {}# 遍历⾏数据的每⼀项,赋值进⾏数据字典for j in range(len(row_data)):item = row_data[j]row_data_dict[idx[j]] = item# 将年份字段转成整形#row_data_dict['year'] = int(row_data_dict['year'])# 将⾏数据字典加⼊到data列表中data.append(row_data_dict)result = json.dumps(data,indent = 4,ensure_ascii=False)print(result)if__name__ == '__main__':readexcel(r'D:/CodeBase/ReadData/ReadExcel/excel_data.xlsx')输出:[{"车牌号": "粤A123456","设备号": 136********.0,"sim卡号": 136********.0,"设备类型": "A5C-8W","所属车组": "测试","车架号": 123.0,"服务密码": 123.0}]注意:json.dumps 进⾏序列化时,默认使⽤ascii编码, print json.dumps(data,indent = 4)输出unicode编码的结果,⽐如: {"\u8f66\u724c\u53f7": "\u7ca4A123456"}json.dumps(data,indent = 4,ensure_ascii=False),不使⽤ascii编码,输出结果为:{"车牌号": "粤A123456"}但是有时也碰到 json.dumps(data,indent = 4,ensure_ascii=False)之后依旧是乱码的格式,可采取下⾯⽅式处理:import jsondic = {"车牌号": "粤A123456"}print json.dumps(dic,ensure_ascii=False).decode("utf-8").encode("gb2312") #{"车牌号": "粤A123456"}。

python操作Excel的5种方式

python操作Excel的5种方式

python操作Excel的5种⽅式Python对Excel的读写主要有xlrd、xlwt、xlutils、openpyxl、xlsxwriter⼏种。

1.xlrd主要是⽤来读取excel⽂件import xlrddata = xlrd.open_workbook('abcd.xls') # 打开xls⽂件table = data.sheets()[0] # 打开第⼀张表nrows = table.nrows # 获取表的⾏数for i in range(nrows): # 循环逐⾏打印if i == 0:# 跳过第⼀⾏continueprint (table.row_values(i)[:13]) # 取前⼗三列⽰例:#coding=utf-8########################################################filename:test_xlrd.py#author:defias#date:xxxx-xx-xx#function:读excel⽂件中的数据#######################################################import xlrd#打开⼀个workbookworkbook = xlrd.open_workbook('E:\\Code\\Python\\testdata.xls')#抓取所有sheet页的名称worksheets = workbook.sheet_names()print('worksheets is %s' %worksheets)#定位到sheet1worksheet1 = workbook.sheet_by_name(u'Sheet1')"""#通过索引顺序获取worksheet1 = workbook.sheets()[0]#或worksheet1 = workbook.sheet_by_index(0)""""""#遍历所有sheet对象for worksheet_name in worksheets:worksheet = workbook.sheet_by_name(worksheet_name)"""#遍历sheet1中所有⾏rownum_rows = worksheet1.nrowsfor curr_row in range(num_rows):row = worksheet1.row_values(curr_row)print('row%s is %s' %(curr_row,row))#遍历sheet1中所有列colnum_cols = worksheet1.ncolsfor curr_col in range(num_cols):col = worksheet1.col_values(curr_col)print('col%s is %s' %(curr_col,col))#遍历sheet1中所有单元格cellfor rown in range(num_rows):for coln in range(num_cols):cell = worksheet1.cell_value(rown,coln)print cell"""#其他写法:cell = worksheet1.cell(rown,coln).valueprint cell#或cell = worksheet1.row(rown)[coln].valueprint cell#或cell = worksheet1.col(coln)[rown].valueprint cell#获取单元格中值的类型,类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 errorcell_type = worksheet1.cell_type(rown,coln)print cell_type"""2.xlwt主要是⽤来写excel⽂件#Python学习交流群:778463939import xlwtwbk = xlwt.Workbook()sheet = wbk.add_sheet('sheet 1')sheet.write(0,1,'test text')#第0⾏第⼀列写⼊内容wbk.save('test.xls')3.xlutils结合xlrd可以达到修改excel⽂件⽬的import xlrdfrom xlutils.copy import copyworkbook = xlrd.open_workbook(u'有趣装逼每⽇数据及趋势.xls')workbooknew = copy(workbook)ws = workbooknew.get_sheet(0)ws.write(3, 0, 'changed!')workbooknew.save(u'有趣装逼每⽇数据及趋势copy.xls')4.openpyxl可以对excel⽂件进⾏读写操作from openpyxl import Workbookfrom openpyxl import load_workbookfrom openpyxl.writer.excel import ExcelWriterworkbook_ = load_workbook(u"新歌检索失败1477881109469.xlsx") sheetnames =workbook_.get_sheet_names() #获得表单名字print sheetnamessheet = workbook_.get_sheet_by_name(sheetnames[0])print sheet.cell(row=3,column=3).valuesheet['A1'] = '47'workbook_.save(u"新歌检索失败1477881109469_new.xlsx")wb = Workbook()ws = wb.activews['A1'] = 4wb.save("新歌检索失败.xlsx")⽰例:import openpyxl# 新建⽂件workbook = openpyxl.Workbook()# 写⼊⽂件sheet = workbook.activesheet['A1']='A1'# 保存⽂件workbook.save('test.xlsx')5.xlsxwriter可以写excel⽂件并加上图表import xlsxwriterdef get_chart(series):chart = workbook.add_chart({'type': 'line'})for ses in series:name = ses["name"]values = ses["values"]chart.add_series({'name': name,'categories': 'A2:A10','values':values})chart.set_size({'width': 700, 'height': 350})return chartif __name__ == '__main__':workbook = xlsxwriter.Workbook(u'H5应⽤中⼼关键数据及趋势.xlsx') worksheet = workbook.add_worksheet(u"每⽇PV,UV")headings = ['⽇期', '平均值']worksheet.write_row('A1', headings)index=0for row in range(1,10):for com in [0,1]:worksheet.write(row,com,index)index+=1series = [{"name":"平均值","values":"B2:B10"}]chart = get_chart(series)chart.set_title ({'name': '每⽇页⾯分享数据'})worksheet.insert_chart('H7', chart)workbook.close()openpyxl⽰例:import xlsxwriter as xw#新建excelworkbook = xw.Workbook('myexcel.xlsx')#新建⼯作薄worksheet = workbook.add_worksheet()#写⼊数据worksheet.wirte('A1',1)#关闭保存workbook.close()合并表格实例:#coding:utf-8import xlsxwriterimport xlrd#新建excelworkbook = xlsxwriter.Workbook('⼴东.xlsx')#新建⼯作薄worksheet = workbook.add_worksheet()count = 1worksheet.write("A%s"%count,"公司名称")worksheet.write("B%s"%count,"法⼈")worksheet.write("C%s"%count,"电话")worksheet.write("D%s"%count,"注册资⾦")worksheet.write("E%s"%count,"注册时间")count+=1for i in range(1,153):data = xlrd.open_workbook('ah (%s).xls'%i) # 打开xls⽂件 table = data.sheets()[0] # 打开第⼀张表nrows = table.nrows # 获取表的⾏数for i in range(nrows): # 循环逐⾏打印if i == 0:# 跳过第⼀⾏continue# print (table.row_values(i)[:5]) # 取前⼗三列print(count,table.row_values(i)[:5][0])#写⼊数据#设定第⼀列(A)宽度为20像素 A:E表⽰从A到Eworksheet.set_column('A:A',30)worksheet.set_column('B:E',20)worksheet.write("A%s"%count,table.row_values(i)[:5][0]) worksheet.write("B%s"%count,table.row_values(i)[:5][1]) worksheet.write("C%s"%count,table.row_values(i)[:5][2]) worksheet.write("D%s"%count,table.row_values(i)[:5][3]) worksheet.write("E%s"%count,table.row_values(i)[:5][4]) count+=1#关闭保存workbook.close()。

Python读取excel指定的列

Python读取excel指定的列

Python读取excel指定的列⼀、摘要在这篇⽂章中:介绍了使⽤ xlrd 模块,读取指定坐标的单元格,以及循环整个表格。

还没有介绍如何读取指定的列。

⼆、举例⽬前有⼀张⽔果报价表,内容如下:需要提取品名和成本价,完整代码如下:#!/usr/bin/env python3# coding: utf-8import xlrd# 打开excel⽂件,创建⼀个workbook对象,book对象也就是fruits.xlsx⽂件,表含有sheet名rbook = xlrd.open_workbook('test.xlsx')# sheets⽅法返回对象列表,[<xlrd.sheet.Sheet object at 0x103f147f0>]rbook.sheets()# xls默认有3个⼯作簿,Sheet1,Sheet2,Sheet3rsheet = rbook.sheet_by_index(0) # 取第⼀个⼯作簿# 循环⼯作簿的所有⾏for row in rsheet.get_rows():product_column = row[1] # 品名所在的列product_value = product_column.value # 项⽬名if product_value != '品名': # 排除第⼀⾏price_column = row[4] # 价格所在的列price_value = price_column.value# 打印print("品名", product_value, "价格", price_value)执⾏输出:品名陕西⽔晶富⼠价格 4.1品名雪梨价格 1.6品名⽆籽西⽠价格 1.7。

办公软件学习技巧:【python】读取excel的行列内容,pandas,超详细!!!

办公软件学习技巧:【python】读取excel的行列内容,pandas,超详细!!!

【python】读取excel的行列内容,pandas,超详细!!!使用python处理excel的内容时第一步当然是读取excel的内容。

import pandas as pd#1读取指定行print(----读取指定的单行数据会存在列表里面----)dfpd.read_excel(测试.xlsx)#这个会直接默认读取到这个Excel的第一个表单datadf.loc[0].values#0表示第一行这里读取数据并不包含表头要留意哦print(读取指定行的数据{0}.format(data))print(------读取指定的多行数据会存在嵌套的列表里面----------)dfpd.read_excel(测试.xlsx)datadf.loc[[1,2]].values#读取指定多行的话就要在loc[]里面嵌套列表指定行数print(读取指定行的数据{0}.format(data))print(----------------读取指定的行列-----------------------)dfpd.read_excel(测试.xlsx)datadf.iloc[1,2]#读取第一行第二列的值这里不需要嵌套列表print(读取指定行的数据{0}.format(data))print(----------------读取指定的多行多列值-----------------------)dfpd.read_excel(测试.xlsx)datadf.loc[[1,2],[title,data]].values#读取第一行第二行的title以及data列的值这里需要嵌套列表print(读取指定行的数据{0}.format(data))print(-----------猎取全部行的指定列----------------------------)dfpd.read_excel(测试.xlsx)datadf.loc[:,[title,data]].values#读全部行的title以及data列的值这里需要嵌套列表print(读取指定行的数据{0}.format(data))print(------------猎取行号并打印输出---------------------------)dfpd.read_excel(测试.xlsx)print(输出行号列表,df.index.values)print(-------------猎取列名并打印输出--------------------------)dfpd.read_excel(测试.xlsx)print(输出列标题,df.columns.values)print(------------猎取指定行数的值---------------------------)dfpd.read_excel(测试.xlsx)print(输出值,df.sample(3).values)#这个方法类似于head()方法以及df.values方法print(-----------猎取指定列的值----------------------------)dfpd.read_excel(测试.xlsx)print(输出值,df[data].values)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ctype = 1 value = '单元格的值'
xf = 0 # 扩展的格式化value, xf)
table.cell(0,0) #单元格的值'
table.cell(0,0).value #单元格的值'
python操作Excel读写--使用xlrd
一、安装xlrd模块
到python官网下载xlrd模块安装,前提是已经安装了python 环境。
二、使用介绍
1、导入模块
import xlrd
2、打开Excel文件读取数据
data = xlrd.open_workbook('excelFile.xls')
使用行列索引
cell_A1 = table.row(0)[0].value
cell_A2 = table.col(1)[0].value
简单的写入
row = 0
col = 0
# 类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
循环行列表数据
for i in range(nrows ):
print table.row_values(i)
单元格
cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(2,3).value
获取整行和整列的值(数组)
table.row_values(i)
table.col_values(i)
获取行数和列数
nrows = table.nrows
ncols = table.ncols
3、使用技巧
获取一个工作表
table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取
table = data.sheet_by_name(u'Sheet1')#通过名称获取
相关文档
最新文档