电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 2205 人浏览分享

分割xlsx文件教程

[复制链接]
2205 0

分割xlsx文件教程


  1. # -*- coding: utf-8 -*-
  2. # 将多个Excel文件合并成一个
  3. import xlrd
  4. import xlsxwriter
  5. import code
  6. import glob
  7. import csv
  8. import time
  9. import redis
  10. import re
  11. import pymysql
  12. # 打开一个excel文件
  13. #db =pymysql.connect(host='',port=3306,user='root',passwd='123
  14. 456',db='微店店主',charset='utf8')
  15. #r_conn = redis.Redis('','6666')
  16. def open_xls(file):
  17.     fh = xlrd.open_workbook(file)
  18.     return fh

  19. # 获取excel中所有的sheet表
  20. def getsheet(fh):
  21.     return fh.sheets()

  22. # 获取sheet表的行数
  23. def getnrows(fh, sheet):
  24.     table = fh.sheets()[sheet]
  25.     return table.nrows

  26. # 读取文件内容并返回行内容
  27. def getFilect(file, shnum,filename,gg):
  28.     fh = open_xls(file)
  29.     table = fh.sheets()[shnum]
  30.     num = table.nrows
  31.     for row in range(num):
  32.         gg = gg+1
  33.         print(gg)
  34.         rdata = table.row_values(row)
  35.         if len(rdata)>=2:
  36.             pass
  37.         else:
  38.             continue
  39.         datavalue.append(rdata)
  40.         phone = rdata[1]
  41.         phone = str(phone)
  42.         print(phone)
  43.         pat = '1\d{10}'
  44.         phone_test = re.compile(pat).findall(phone)
  45.         if len(phone_test)>0:
  46.             phone = phone_test[0]
  47.         else:
  48.             continue

  49.         filename_num = str(gg/100)
  50.         pat = ('.*?\.0
  51. )
  52.         test = re.compile(pat).findall(filename_num)
  53.         if len(test) > 0:
  54.             filename = filename_num.replace('.0','')
  55.             with open(str(filename)+'.csv','a',newline='') as file:
  56.                 writer = csv.writer(file)
  57.                 writer.writerow(['手机号码','标签'])
  58.         else:
  59.             print('it not the int')
  60.             pass

  61.         try:
  62.             with open(str(filename)+'.csv','a',newline='') as file:
  63.                 writer = csv.writer(file)
  64.                 writer.writerow([phone,'股票投资'])
  65.         except Exception as gl:
  66.             print(gl)

  67.     print('\n数据条信息解析完成:')

  68. # 获取sheet表的个数
  69. def getshnum(fh):
  70.     x = 0
  71.     sh = getsheet(fh)
  72.     for sheet in sh:
  73.         x += 1
  74.     return x

  75. if __name__ == '__main__':
  76.     # make_mysql_table()
  77.     # get_redis_data()
  78.     filename = '微店号'
  79.     # with open(str(filename) + '.csv', 'a', newline='') as file:
  80.     #     writer = csv.writer(file)
  81.     #     writer.writerow(['手机号','标签'])
  82.     # print('log:make csv file success')
  83.     datavalue = []
  84.     allxls = glob.glob('100w查询.xlsx')
  85.     print('\n总共发现%s个信息数据xlsx文件' % len(allxls))
  86.     for fl in allxls:
  87.         fh = open_xls(fl)
  88.         x = getshnum(fh)
  89.         for shnum in range(0,1):
  90.             gg =0
  91.             print("正在读取文件:" + str(fl) + "表的内容...")
  92.             rvalue = getFilect(fl, shnum,filename,gg)
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.