工具类(Excel)[三]

import xlrd
import xlwt

workbook = xlwt.Workbook(encoding='utf-8')
sheet = workbook.add_sheet('差旅报销')
sheet.write(0,0,'A')
sheet.write(0,1,'B')
sheet.write(0,2,'C')
sheet.write(0,3,'D')
sheet.write(0,4,'E')
sheet.write(0,5,'F')
sheet.write(0,6,'G')
sheet.write(0,7,'H')
sheet.write(0,8,'I')
sheet.write(0,9,'J')
sheet.write(0,10,'K')
sheet.write(0,11,'L')
count = 0
# file_name = ['AXDBJ差旅费报销单20190115175519.xlsx','AXDCD差旅费报销单20190115175626.xlsx','AXDCQ差旅费报销单20190115175847.xlsx','AXDFZ差旅费报销单20190115175648.xlsx','AXDGYL差旅费报销单.xlsx',
#              'AXDGZFS差旅费报销单20190115175921.xlsx','AXDGZHZBL差旅费报销单20190115175903.xlsx','AXDGZ差旅费报销单20190115175537.xlsx','AXDHZ差旅费报销单20190115175744.xlsx','AXDJNQDCY差旅费报销单20190115175831.xlsx',
#              'AXDJN差旅费报销单20190115175609.xlsx','AXDNJ差旅费报销单20190115175801.xlsx','AXDSY差旅费报销单20190115175729.xlsx','AXDTJ差旅费报销单20190115175816.xlsx','AXDWH差旅费报销单20190115175555.xlsx',
#              'AXDXA差旅费报销单20190115175713.xlsx','SHXJ差旅费报销单20190115180012.xlsx','YGBJ差旅费报销单20190115172004.xlsx','YGCD差旅费报销单20190115172213.xlsx','YGFZ差旅费报销单20190115171822.xlsx',
#              'YGGZ差旅费报销单20190115172047.xlsx','YGHZ差旅费报销单20190115171918.xlsx','YGJN差旅费报销单20190115172146.xlsx','YGNJ差旅费报销单20190115171935.xlsx','YGSH易果EAS差旅费报销单.xlsx',
#              'YGSY差旅费报销单20190115164445.xlsx','YGSY差旅费报销单20190115171859.xlsx','YGWH差旅费报销单20190115172115.xlsx','YXGYL差旅费报销单20190115172247.xlsx','膳麦差旅费报销单.xlsx']
file_name = [1,2,3,4,5,6,7]
# for x in range(1, 31):
number = 0
print(len(file_name))
# for filename in file_name:
for x in file_name:
    number += 1
    # print('************',number)
    filename = str(x)+'.xls'
    filedata = xlrd.open_workbook(filename)
    table = filedata.sheets()[0]
    rowNum = table.nrows
    colNum = table.ncols
    for num in range(1,rowNum):
            count+=1
            data_li = table.row_values(num)
            sheet.write(count, 0, data_li[0])
            sheet.write(count, 1, data_li[1])
            sheet.write(count, 2, data_li[2])
            sheet.write(count, 3, data_li[3])
            sheet.write(count, 4, data_li[4])
            sheet.write(count, 5, data_li[5])
            sheet.write(count, 6, data_li[6])
            sheet.write(count, 7, data_li[7])
            sheet.write(count, 8, data_li[8])
            sheet.write(count, 9, data_li[9])
            sheet.write(count, 10, data_li[10])
            sheet.write(count, 11, data_li[11])
workbook.save('费用.xls')


# import pandas as pd
# from pandas import DataFrame
# filename = '费用表(二).xlsx'
# df = pd.DataFrame(pd.read_excel(filename))
# df2 = df[(df['状态'] == '等待付款')|(df['状态'] == '已提交')]
# print(df.loc[6000])
# DataFrame(df2).to_excel('c.xlsx', sheet_name='Sheet1', index=False, header=True)
# DataFrame(df2).to_excel('d.xlsx', sheet_name='Sheet1', header=True)

import numpy as np
import pandas as pd
from pandas import DataFrame
def makeExcel(ta_name,sh_name):
    data_x = pd.read_excel("7.xls",sheet_name='sheet1')#pd.dataframe
    data_y = pd.read_excel("科目名.xlsx",sheet_name='Sheet1')
    train_data = np.array(data_x)#np.ndarray()S
    train_data_list=train_data.tolist()#list
    train_company = np.array(data_y)#np.ndarray()
    train_company_list=train_company.tolist()#list
    fee = []
    money = []
    company = []
    for name in train_company_list:
        print(name)
        company.append(name[0])
        sum = 0
        for li in train_data_list:
             # print(li[1],name)
             if li[8]!='':
                 if li[1] == name[0]:
                     sum = sum+li[8]

        money.append(sum)
    dict_data = {
        'company':company,
        'money':money
    }
    data=DataFrame(dict_data)#将字典转换成为数据框
    # DataFrame(data).to_excel('one(一).xlsx',sheet_name='1901')
    DataFrame(data).to_excel(ta_name+'.xlsx',sheet_name=sh_name)

if __name__ == '__main__':
    makeExcel('seven','费用')

============================================================================
import openpyxl as opx
def read_excel():
  # filename = r'C:\Users\user\Desktop\coordTransform_py-master\test\shenghuo.xlsx'
  # ta_name = ['one','two','three','four','five','six','seven']
  ta_name = ['one']
  outwb = opx.Workbook()
  outws = outwb.create_sheet(title="Look")
  count = 0
  for ta in ta_name:
      filename = ta+'.xlsx'
      inwb = opx.load_workbook(filename)#读文件
      # sheet = inwb['Sheet1']

      sheetnames = inwb.get_sheet_names()#获取读文件中所有的sheet,通过名字的方式
      ws = inwb.get_sheet_by_name(sheetnames[0])#获取第一个sheet内容
      rows = ws.max_row#获取读取的excel的文件的行数
      # print(rows)

      for i in range(rows):
        value_city_one = []
        count+=1
          # lng = ws.cell(row = i+1 , column = 0).value#读文件
        # lat = ws.cell(row = i+1 , column = 1).value
#读取工作表内容
        cell_one = ws.cell(i+2, 1).value
        cell_two = ws.cell(i+2, 2).value
        cell_three = ws.cell(i+2,3).value
        cell_four = ws.cell(i+2, 4).value
        value_city_one.append(cell_one)
        value_city_one.append(cell_two)
        value_city_one.append(cell_three)
        value_city_one.append(cell_four)
        print(cell_one,cell_two,cell_three,cell_four)
#向新表中写入数据
        outws.cell(row = count , column = 1).value = value_city_one[0]#写文件
        outws.cell(row = count , column = 2).value = value_city_one[1]
        outws.cell(row = count, column = 3).value = value_city_one[2]
        outws.cell(row = count , column = 4).value = value_city_one[3]
  outwb.save('测试(二).xlsx')
read_excel()

==========================================================

import xlwt
import xlrd
totalData = xlrd.open_workbook('科目.xlsx')
table = totalData.sheets()[0]
data = table.col_values(0)
workbook = xlwt.Workbook(encoding='utf-8')
sheet = workbook.add_sheet('总表')
sheet.write(0,0,'公司名字')
sheet.write(0,1,'')
sheet.write(0,2,'')
sheet.write(0,3,'')
sheet.write(0,4,'')



ta_name = ['上海(投后)','投后管理','投后管理部']

num =0
company_count = 0
for na in ta_name:
    company_count+=1
    count = 0
    num += 1
    for comname in data[1:]:
        count += 1
        if num==1:
            tableData = xlrd.open_workbook(na+'.xlsx')
            table = tableData.sheets()[0]
            nrows = table.nrows
            for x in range(1,nrows):
                data_row = table.row_values(x)
                if data_row[1] == comname:
                    sheet.write(count, 0, comname)
                    sheet.write(count,company_count, data_row[2])
            data_col = table.col_values(1)
            if comname not in data_col:
                    sheet.write(count, 0, comname)
                    sheet.write(count,company_count, '')

        else:
            tableData = xlrd.open_workbook(na + '.xlsx')
            table = tableData.sheets()[0]
            nrows = table.nrows
            for x in range(1, nrows):
                data_row = table.row_values(x)
                if data_row[1] == comname:
                    sheet.write(count, company_count, data_row[2])
workbook.save('结果(三).xls')
#-*- coding: utf-8 -*-
from sklearn.feature_extraction import DictVectorizer
import csv
from sklearn import preprocessing
from sklearn import tree
from sklearn.externals.six import StringIO
import numpy as np
import pandas as pd
from pandas import DataFrame

def makeExcel(ta_one,sh_one_li,ta_two,sh_two_li):
    for x in range(len(sh_one_li)):
        data_x = pd.read_excel(ta_one,sheet_name=sh_one_li[x])
        data_y = pd.read_excel(ta_two,sheet_name=sh_two_li[x])
        train_data = np.array(data_x)
        train_data_list=train_data.tolist()
        train_company = np.array(data_y)
        train_company_list=train_company.tolist()
        fee = []
        money = []
        company = []
        for name in train_company_list:
            company.append(name[0])
            sum = 0
            for li in train_data_list:
                 print(li[1],name)
                 if li[1] == name[0]:
                     sum = sum+li[4]
                     fee.append(li[4])
            s = 0
            for t in fee:
                 s = s + t
            print(s)
            print(name[0],len(fee))
            money.append(sum)
        dict_data = {
            'company':company,
            'money':money
        }
        data=DataFrame(dict_data)
        DataFrame(data).to_excel(sh_two_li[x]+'.xlsx',sheet_name=sh_two_li[x])


data = open('data(二).csv', encoding='utf-8')
reader = csv.reader(data)
headers = next(reader)
for h in reader:
    print(h)
print(type(headers))

featureList = []  # 特征集
labelList = []  # 标签集
for row in reader:
    # 最后一列是标签,构造标签集
    labelList.append(row[len(row)-1])
    # 构造特征集
    rowDict = {}
    for i in range(1, len(row)-1):
        # header里面是属性名,用来作键值
        rowDict[headers[i]] = row[i]
    featureList.append(rowDict)

# print featureList
#
# vec = DictVectorizer()
# # 将特征转化为向量
# dummyX = vec.fit_transform(featureList).toarray()
#
# print ('dummyX:'+str(dummyX))
# # 输出向量中每一项的含义
# print vec.get_feature_names()
#
# print 'labelList:' + str(labelList)
#
# # 将标签变成列向量
# lb = preprocessing.LabelBinarizer()
# dummyY = lb.fit_transform(labelList)
# print 'dummyY:' + str(dummyY)
#
# # 利用tree中的分类器来创建决策树
# clf = tree.DecisionTreeClassifier(criterion='entropy')  # 用ID3的算法  信息熵
# clf = clf.fit(dummyX, dummyY)
# print 'clf:' + str(clf)
#
# # 画决策树
# with open('jueceshu.dot', 'w') as f:
#     # 把feature_name返回
#     f = tree.export_graphviz(clf,feature_names=vec.get_feature_names(), out_file=f)
#
# oneRowX = dummyX[0, :]
# print 'oneRowX:' + str(oneRowX)
#
# # 构造新的情况,并预测
# newRowX = oneRowX
# newRowX[0] = 1
# newRowX[2] = 0
# print 'newRowX:' + str(newRowX)
#
# # 用模型预测
# predictedY = clf.predict(newRowX)
# print 'predictedY:' + str(predictedY)

猜你喜欢

转载自blog.csdn.net/baidu_32542573/article/details/89351731