精华内容
下载资源
问答
  • Python导入excel数据

    千次阅读 2019-07-09 11:34:59
    参考文章: https://wenku.baidu.com/view/38f10008a8956bec0975e357.html
    展开全文
  • 1、导入模块importxlrd2、打开Excel文件读取数据data=xlrd.open_workbook('excelFile.xls')3、使用技巧获取一个工作表table=data.sheets()[0]#通过索引顺序获取table=data.sheet_by_index(0)#通过索引顺序获取table=...

    1

    、导入模块

    import xlrd

    2

    、打开

    Excel

    文件读取数据

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

    3

    、使用技巧

    获取一个工作表

    table = data.sheets()[0]

    #

    通过索引顺序获取

    table = data.sheet_by_index(0) #

    通过索引顺序获取

    table = data.sheet_by_name(u'Sheet1')#

    通过名称获取

    获取整行和整列的值(数组)

    table.row_values(i)

    table.col_values(i)

    获取行数和列数

    nrows = table.nrows

    ncols = table.ncols

    循环行列表数据

    for i in range(nrows ):

    print table.row_values(i)

    单元格

    cell_A1 = table.cell(0,0).value

    cell_C4 = table.cell(2,3).value

    使用行列索引

    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

    ctype = 1 value = '

    单元格的值

    '

    xf = 0 #

    扩展的格式化

    table.put_cell(row, col, ctype, value, xf)

    table.cell(0,0)

    #

    单元格的值

    '

    table.cell(0,0).value #

    单元格的值

    '

    展开全文
  • 关注我、Python的一大应用就是数据分析了,而数据分析中,经常碰到需要处理Excel数据的情况。这里做一个Python处理Excel数据的总结,基本受用大部分情况。相信以后用Python处理Excel数据不再是难事儿!Python处理...

    欢迎点击上方"AntDream"关注我

    、Python的一大应用就是数据分析了,而数据分析中,经常碰到需要处理Excel数据的情况。这里做一个Python处理Excel数据的总结,基本受用大部分情况。相信以后用Python处理Excel数据不再是难事儿!Python处理Excel数据需要用到2个库:xlwt 和 xlrd。xlwt库负责将数据导入生成Excel表格文件,而 xlrd库则负责将Excel表格中的数据取出来。

    xlwt库将数据导入Excel

    将数据写入一个Excel文件wb = xlwt.Workbook()

    # 添加一个表

    ws = wb.add_sheet('test')

    # 3个参数分别为行号,列号,和内容

    # 需要注意的是行号和列号都是从0开始的

    ws.write(0, 0, '第1列')

    ws.write(0, 1, '第2列')

    ws.write(0, 2, '第3列')

    # 保存excel文件

    wb.save('./test.xls')

    可以看到,用xlwt库操作非常简单,基本就三步走:打开一个Workbook对象,并用add_sheet方法添加一个表

    然后就是用write方法写入数据

    最后用save方法保存需要注意的是,xlwt库里面所定义的行和列都是从0开始计数的

    定制Excel表格样式

    表格样式一般主要有这么几块内容:字体、对齐方式、边框、背景色、宽度以及特殊内容,比如超链接、日期时间等。下面我们来分别看看用xlwt库怎么定制这些样式。

    字体

    xlwt库支持的字体属性也比较多,大概如下:

    字体属性

    设置字体需要用到xlwt库的XFStyle类和Font类,代码模版如下:style = xlwt.XFStyle()

    # 设置字体

    font = xlwt.Font()

    # 比如设置字体加粗和下划线

    font.bold = True

    font.underline = True

    style.font = font

    # 然后应用

    ws.write(2, 1, 'test', style)

    后续几个属性的设置都是类似的,都是4步走:拿到XFStyle

    拿到对应需要的属性,比如这里的Font对象

    设置具体的属性值

    最后就是在write方法写入数据的时候应用就行

    单元格对齐

    先来看单元格对齐怎么设置# 单元格对齐

    alignment = xlwt.Alignment()

    # 水平对齐方式和垂直对齐方式

    alignment.horz = xlwt.Alignment.HORZ_CENTER

    alignment.vert = xlwt.Alignment.VERT_CENTER

    # 自动换行

    alignment.wrap = 1

    style.alignment = alignment

    # 然后应用

    ws.write(2, 1, 'test', style)上面这个自动换行的属性还是蛮有用的,因为我们很多时候数据会比较长,最好再加上单元格的宽度属性一起使用,这样整体样式会好很多

    单元格宽度设置:# 设置单元格宽度,也就是某一列的宽度

    ws.col(0).width = 6666

    单元格的背景色

    背景色对应的属性是 Pattern# 背景色

    pattern = xlwt.Pattern()

    pattern.pattern = xlwt.Pattern.SOLID_PATTERN

    # 背景色为黄色

    # 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

    # ...

    pattern.pattern_fore_colour = 5

    style.pattern = pattern

    # 然后应用

    ws.write(2, 1, 'test', style)

    单元格边框

    边框属性是Borders

    单元格边框就2类:颜色和边框线样式

    可以分别设置上下左右边框的颜色和样式# 边框

    borders = xlwt.Borders()

    # 边框可以分别设置top、bottom、left、right

    # 每个边框又可以分别设置颜色和线样式:实线、虚线、无

    # 颜色设置,其他类似

    borders.left_colour = 0x40

    # 设置虚线,其他类似

    borders.bottom = xlwt.Borders.DASHED

    style.borders = borders

    # 然后应用

    ws.write(2, 1, 'test', style)

    特殊内容,比如超链接和公式

    特殊内容一般主要会碰到这几类:超链接、公式和时间日期

    处理这些特殊内容需要用到Formula# 超链接

    link = 'HYPERLINK("http://www.baidu.com";"Baidu")'

    formula = xlwt.Formula(link)

    ws.write(2, 0, formula)

    # 公式也是类似

    ws.write(1, 1, xlwt.Formula('SUM(A1,B1)'))

    # 时间

    style.num_format_str = 'M/D/YY'

    ws.write(2, 1, datetime.datetime.now(), style)

    以上就是用Python将数据写入到Excel的全部内容了,下面我们再来看看怎么读取Excel中的数据做处理。

    xlrd库读取Excel中的数据

    读取Excel文件

    同样的用xlrd库读取Excel的数据也是轻轻松松,先来看下实现代码# 先打开一个文件

    wb = xlrd.open_workbook(file_path)

    # 获取第一个表

    sheet1 = wb.sheet_by_index(0)

    # 总行数

    nrows = sheet1.nrows

    # 总列数

    ncols = sheet1.ncols

    # 后面就通过循环即可遍历数据了

    # 取数据

    for i in range(nrows):

    for j in range(ncols):

    # cell_value方法取出第i行j列的数据

    value = sheet1.cell_value(i, j)

    print(value)

    总结一下,分为一下几步:首先通过xlrd库的open_workbook方法打开Excel文件

    然后通过sheet_by_index方法获取表

    然后分别获取表的行数和列数,便于后面循环遍历

    根据列数和行数,循环遍历,通过cell_value方法获取每个单元格中的数据

    工作表的相关操作

    获取一个工作表,有多种方式# 通过索引

    sheet1 = wb.sheets()[0]

    sheet1 = wb.sheet_by_index(0)

    # 通过名字

    sheet1 = wb.sheet_by_name('test')

    # 获取所有表名

    # sheet_names = wb.sheet_names()

    获取某一行或某一列的所有数据# 获取行中所有数据,返回结果是一个列表

    tabs = sheet1.row_values(rowx=0, start_colx=0, end_colx=None)

    # 返回一行一共有多少数据

    len_value = sheet1.row_len(rowx=0)

    row_values的三个参数分别是:行号、开始的列和结束的列,其中结束的列为None表示获取从开始列到最后的所有数据

    类似的还有获取某一列的数据cols = sheet1.col_values(colx=0, start_rowx=0, end_rowx=None)

    处理时间数据

    时间数据比较特殊,没发直接通过上面的cell_value方法获取。需要先转换为时间戳,然后再格式化成我们想要的格式。

    比如要获取Excel表格中,格式为2019/8/13 20:46:35的时间数据# 获取时间

    time_value = sheet1.cell_value(3, 0)

    # 获取时间戳

    time_stamp = int(xlrd.xldate.xldate_as_datetime(time_value, 0).timestamp())

    print(time_stamp)

    # 格式化日期

    time_rel = time.strftime("%Y/%m/%d", time.localtime(time_stamp))

    print(time_rel)

    基本也是三步走:通过cell_value方法获取时间值

    然后通过xldate_as_datetime方法获取时间戳

    然后格式化一下

    总结

    Excel文件是用Python处理数据时常会碰到的一类场景,有了xlwt 和 xlrd的帮助可以非常快速的导入和导出Excel数据。大家可以把这篇文章收藏起来,以后碰到处理Excel文件的时候可以参考一下。

    码字不易,求转发,求点在看,求关注,感谢!

    展开全文
  • python导入excel数据到mysql

    千次阅读 2018-05-22 13:38:38
    python导入excel数据到mysql 使用多线程,目前大概一分钟写入1w条 环境介绍 windows10-x64 python3.6.5-x64 Excel2016 MySql5.7.18 需要用到的资源 python导入excel数据到mysql例子,包含建表语句,Excel...

    python导入excel数据到mysql

    • 使用多线程,目前大概一分钟写入1w条

    1. 环境介绍
      • windows10-x64
      • python3.6.5-x64
      • Excel2016
      • MySql5.7.18
    2. 需要用到的资源
    3. 源码及说明

      • 源码
      import pymysql # 操作mysql的模块
      import openpyxl # xlsx格式对应的操作模块
      import time
      import threadpool # 线程池模块
      import math
      from datetime import datetime
      
      successList = [] # 储存每个线程成功的数目,用于统计
      
      def readRow(rows):
      
          conn = pymysql.connect(host="192.168.0.243",port=3306,user="root",passwd="root",db="mydb",charset="utf8")
          cur = conn.cursor() # 获取游标
      
          num = 0
          for row in rows:
      
              itemNo = row[0].value if row[0].value != None else 111
              itemName = row[1].value.replace("'","") if row[1].value != None else ""
              itemName = itemName.replace("\\", "|")
              pym = row[2].value.replace("'","") if row[2].value != None else ""
              pym = pym.replace("\\", "|")
              itemSize = row[3].value.replace("'","") if row[3].value != None else ""
              itemSize = itemSize.replace("\\", "|")
              unitNo = row[4].value.replace("'","") if row[4].value != None else ""
              unitNo = unitNo.replace("\\", "|")
              productArea = row[5].value.replace("'","") if row[5].value != None else ""
              productArea = productArea.replace("\\", "|")
      
              args = (itemNo,itemName,pym,itemSize,unitNo,productArea)
              print(args)
              try:
                  sql = r'''
                      insert into bar_code_dcm1 (itemNo,itemName,pym,itemSize,unitNo,productArea)
                      values
                      (%s,'%s','%s','%s','%s','%s') 
                      ''' % args
                  # print(sql, "\r\n----------------------------------------------------------")
                  cur.execute(sql)
                  conn.commit()
                  num = num +1
              except Exception as e:
                  print(Exception, e,"SQL:%s " % sql)
              else:
                  pass
              finally:
                  pass
      
              if num % 1000 == 0:
                  print("---当前线程已导入:", num," 条   %s" % time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) )
          successList.append(num)
          conn.close()
          # time.sleep(1)
      
      
      def excel2Mysql(excelFileName):
      
          wb = openpyxl.load_workbook(excelFileName)  # 打开excel文件 ;16.5s
          sheetList = wb.sheetnames# 获取工作簿所有工作表名
      
          for sheetName in sheetList: # 遍历,每一个工作簿
      
              sheetObj = wb.[sheetName] #获取工作簿对象
              rows = sheetObj.iter_rows()
      
              bigList = [] # 每个元素为一行excel表格内容
              poolArgsList = [] # 每个元素为一万行excel表格内容,传递给线程池的集合
      
              for row in rows:
                  if len(row[0].value) != 13: # 过滤掉不标准的条形码数据(标准数字条形码长度为13)
                      continue
                  else:
                      bigList.append(row)
      
              cycle = math.ceil(len(bigList) / 10000)
              for index in range(1,cycle+1):
                  thisList = bigList[(index-1)*10000:index*10000] # list切片
                  poolArgsList.append(thisList)
      
              pools = threadpool.ThreadPool(10)  # 初始化10个线程(不一定全用上,python会自己调度,最好是1w数据对应1个线程)
              print("-*-数据读取,组装完毕-*-*-*开启 %d 个线程-*-*-*- \n\r" % 10)
              tasks = threadpool.makeRequests(readRow, poolArgsList) # 创建任务(处理函数,可迭代对象),每一个迭代元素即为处理函数的参数
              [pools.putRequest(task) for task in tasks] # 线程池和任务都有了,将任务放入线程池中,执行
              pools.wait()
      
          wb.close()
      
      if __name__ == '__main__':
          startTime = datetime.now()
          excelFileName = "C:/Users/xusanduo/Desktop/excelData/50-55w.xlsx"
          print("[  %s  ] [ 开始导入 %s " % ( time.strftime("%Y-%m-%d %H:%M:%S", time.localtime() ), excelFileName),"文件 ]" )
          excel2Mysql(excelFileName)
          endTime = datetime.now()
          print( "[  %s  ] %s " % ( time.strftime("%Y-%m-%d %H:%M:%S", time.localtime() ) , "[ 导入完毕,总导入:" + str(sum(successList)) + "条 ]") , "[ 用时 %d 秒]" % (endTime-startTime).seconds )
      • 关于源码的说明:
        • 你可能需要安装pymysql ,openpyxl ,threadpool 模块,如果你没有的话,执行命令:pip install [module_name]
        • 你可能需要修改读取的文件绝对路径
        • 你可能需要修改mysql的连接参数
        • 如果你需要举一反三的话,你可能需要修改readRow()函数里面的数据组装部分以及SQL部分
    展开全文
  • 2、利用xlrd中的open_workbook函数读入excel文件,即可在python导入excel数据。一、安装xlrd模块到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。二、使用介绍1、导入...
  • 读取Excel数据# table = xlrd.open_workbook("data.xlsx","r")# print("获取excel的所有标签:",table.sheets())# for sheet in table.sheets():# print(sheet)...
  • riginal_Data因为程序是为了实现对纯数值型Excel文档进行导入并生成矩阵,因此有必要对第五列文本值进行删除处理。Import_Dataimport numpy as npimport xlrddef import_excel_matrix(path):table = xlrd.open_...
  • 原标题:如何将Excel导入Python之中呢?如何将Excel导入Python之中呢?...大概的流程是这样的:1、导入模块import xlrd2、打开Excel文件读取数据data = xlrd.open_workbook('excel.xls')3、获取一个工作...
  • 一、安装openpyxlpip install openpyxl二、获取Excel表格数据以下是我的表格数据#导入load_workbook工作表from openpyxl import load_workbook#创建粘贴工作表数据的类class ParseExcel(): #工作表路径及工作表的...
  • PythonExcel的读写主要有:xlrd、xlwt、xlutils、openpyxl、xlsxwriter几种xlutils结合xlrd: 操作的是以xls后缀的excel,读取文件保留原格式:加:formatting_info=True常用方法:1、打开xls:open_workbook...
  • #coding=utf-8importxlrdimportsqlite3importosimportuuiddefinsert_data_to_db(path):wb=xlrd.open_workbook(path)print(wb.sheet_names())sheet=wb.sheets()[0]nrows=sheet.nrows#获取任务行里索引begin_index =0...
  • Python读取Excel数据作曲线图作者:梅朵微信公众号:实用办公编程技能微信号:Excel-Python今天,梅朵给大家...① plot : 折线图(1)导入pylab库用于作曲线图import pylab as plt(2)导入pandas库读Excel数据i...
  • 我试图从excel表中导入数据到RPG游戏的类实例列表中。目前我正在尝试使用Pandas,下面是我一直在使用的代码:python3.7.2import pandas as pdclass potion(object):def __init__(self, name, types, effects, value,...
  • Python 导入 Excel 到数据库Python作为简单易学的脚本语言,在处理系统运维工作时,也有很大帮助。...本文将介绍如何基于Python3实现读取Excel数据,并导入到数据库。本程序中会应用到两个包,可以通过pip安装pi...
  • python pandas to_sql将excel数据导入到MySQL数据库用python pandas to_sql写了个脚本,向MySQL数据库导入excel数据,本地其实吧, 一分钟10W条数据不能算太快,10秒10W条还差不多。 可以研究一下线程+进程来处理, ...
  • 今天分享一个刚刚完成的Python脚本,一个实用的小技能,就是利用Python代码,将EXCEL表格数据导入到MySQL数据库中!话不多说,下面代码示例。Excel表格数据.jpg1示例代码:import xlrdimport pymysql#打开数据所在的...
  • 关注我、Python的一大应用就是数据分析了,而数据分析中,经常碰到需要处理Excel数据的情况。这里做一个Python处理Excel数据的总结,基本受用大部分情况。相信以后用Python处理Excel数据不再是难事儿!Python处理...
  • riginal_Data因为程序是为了实现对纯数值型Excel文档进行导入并生成矩阵,因此有必要对第五列文本值进行删除处理。Import_Dataimport numpy as npimport xlrddef import_excel_matrix(path):table = xlrd.open_...
  • MacOS下MSSQL的快速部署与数据库恢复前言有朋友在 SQL Server 导入 Excel留言,说现实情况要复杂的多,没错,没有哪个方案是通吃的。况且我这里探讨的是思路,另外业务逻辑的处理可以放在数据导入之后,这个要具...
  • 使用pythonexcel数据导入数据库过程详解来源:中文源码网浏览: 次日期:2019年11月5日【下载文档:使用pythonexcel数据导入数据库过程详解.txt】(友情提示:右键点上行txt文档名->目标另存为)使用python将...
  • 因为需要对数据处理,将excel数据导入到数据库,记录一下过程。使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt)直接丢代码,使用python3,注释比较清楚。import xlrdimport pymysql# import importlib...
  • 我试图用python导入excel文件中的mssql数据库数据。我的数据在excel表格中的顺序不正确。e、 g它显示第1列数据,然后是第3列,第2列,然后是第4列,依此类推。我使用以下脚本:import pyodbcimport csvconnection = ...
  • 欢迎点击上方"AntDream"关注我、Python的一大应用就是数据分析了,而数据分析中,经常碰到需要处理Excel数据的情况。这里做一个Python处理Excel数据的总结,基本受用大部分情况。相信以后用Python处理Excel数据不再...
  • 2、利用xlrd中的open_workbook函数读入excel文件,即可在python导入excel数据。一、安装xlrd模块到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。二、使用介绍1、导入...
  • 数据导入前请先完成Pandas...1、基本数据导入import pandas as pddf=pd.read_excel(r"C:\Users\37364\Desktop\test.xls") #加个r避免文件路径中的\被转义print(df)2、指定导入哪个Sheetimport pandas as pddf=p...
  • 问题是,我希望从用户处获取的值存储在excel中,当程序重新启动时,它会自动从保存的excel文件中读取所有数据。我肯定有办法做到这一点。请引导我。我几乎是Python的初学者。在另外,请检查代码是否有错误。它有时...
  • python怎么把数据导入excel读取mysql数据数据到excelfrompyexcel_xlsimportsave_datafrompyexcel_xlsimportget_datafromcollectionsimportordereddictimportmysql.connector#和数据库建立cnx=mysql.connector....
  • Python 导入 Excel 到数据库 ...本文将介绍如何基于Python3实现读取Excel数据,并导入到数据库。 本程序中会应用到两个包,可以通过pip安装 pip install openpyxl pyodbc 程序结构如下图所示 入口模块通过
  • 原博文2019-08-29 21:18 −import numpy as npimport pandas as pd# 导入数据# 读取csv数据 df = pd.read_csv(open(r"D:\Python课程\python数据分析实战习题\4.1 数据导入\4.1\1.csv")) df1 = pd.read_cs......

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,780
精华内容 1,112
关键字:

python导入excel数据

python 订阅