pandas/excel 获得sheet名 修改数据多个sheet 行该列 列排序 归一输出

 1 # -*- coding: utf-8 -*-
 2
 3 import sys
 4 import glob
 5 import os
 6 from xlrd import open_workbook
 7 import xlwt
 8 import pandas as pd
 9 from xlutils.copy import copy
10 import numpy as np
11
12 reload(sys)
13 sys.setdefaultencoding( "utf-8" )
14
15
16 def write_sheet(path,excel_name,name,index):
17     df = pd.read_excel(path,name)
18     list_sheet=[]
19     for number in range(0,len(df[0:])):
20         for i in df[0:].iloc[number]:
21             list_sheet.append(str(i))
22
23     print list_sheet
24     rb=open_workbook(excel_name)
25     wb=copy(rb)
26     ws=wb.get_sheet(index)
27     number=0
28     for i in list_sheet:
29         ws.write(number,0,i)
30         number=number+1
31     wb.save(excel_name)
32
33 def set_excel(excel_name,sheet_list):
34     i=0
35     for name in sheet_list:
36         if i==0:
37             book=xlwt.Workbook()
38             book.add_sheet(name)
39             book.save(excel_name)
40             i=i+1
41         else:
42             src = open_workbook(excel_name,formatting_info=True)
43             destination = copy(src)
44             destination.add_sheet(name)
45             destination.save(excel_name)
46 def main():
47     homdir=os.getcwd()
48     sour_dir=os.path.join(homdir,"qczsl")
49     path_dir=os.path.join(sour_dir,"*")
50     for path in glob.glob(path_dir):
51         excel_name=path.split("\\")[-1].strip("x")
52         sheet_list=open_workbook(path).sheet_names()
53         set_excel(excel_name,sheet_list)
54         for name in sheet_list:
55             index=sheet_list.index(name)
56             write_sheet(path,excel_name,name,index)
57             print "##########"
58
59 if __name__ == "__main__":
60     main()
时间: 2024-10-18 11:07:34

pandas/excel 获得sheet名 修改数据多个sheet 行该列 列排序 归一输出的相关文章

Chapter 1. Ado.Net 数据库数据查询(多行、多列)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; //引用命名空间 namespace Ado.net数据库增删改查 { class Program { static void Main(string[] args) { //1.数据库连接 SqlConnection conn = new SqlConnection(

修改数据表——添加删除列

修改数据表的操作,无非就是列的增加.列的删除.约束的增加和约束的删除. 修改数据表 一.添加单列的语法结构 ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name] 例如:在users表中添加一个age列,如果没有指定这个列的位置,那么它将位于所有列的最下边.如下图. FIRST的意思,将你写的这一列,放在最前头. AFTER的意思,将你写的这一列,放在指定列的后面. 若省略FIRST和

C# 连接Excel,获取表格数据,获取多个sheet中的数据,获取多个sheet名

/// <summary> /// 获取Excel内容. /// </summary> /// <param name="sheetName">工作表名称,例:sheet1</param> /// <param name="filePath">Excel路径</param> /// <returns></returns> public static DataTable G

C#获取Excel表格所有sheet名(Epplus)

原文:C#获取Excel表格所有sheet名(Epplus) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/birdfly2015/article/details/90723215 欢迎加入BIM行业开发交流1群 群号:711844216 一.背景 小伙伴们在C#中使用Excel表格时,可能需要将去获取Excel所有Sheet名 二.思路 1.组件:Epplus epplus组件的安装使

mysql修改数据表名

在使用mysql时,经常遇到表名不符合规范或标准,但是表里已经有大量的数据了,如何保留数据,只更改表名呢? 可以通过建一个相同的表结构的表,把原来的数据导入到新表中,但是这样视乎很麻烦. 能否简单使用一个SQL语句就搞定呢?当然可以,mysql5.0下我们使用这样的SQL语句就可以了. ALTER  TABLE table_name RENAME TO new_table_name 例如 ALTER  TABLE admin_user RENAME TO a_user mysql修改数据表名

读取excel模版修改数据后保存到新目录新文件中

获取模版文件路径: string modelExlPath = "\\xls\\文件名.xls"; // 前面“\\xls\\是文件路径”,可以如:\\Users\\Administrator\\Desktop\\ HSSFWorkbook hssfworkbookDown; //创建一个excel对象 //读入刚复制的要导出的excel文件 using (FileStream file = new FileStream(modelExlPath, FileMode.Open, Fil

项目笔记:导出Excel功能分sheet页插入数据

导出Excel功能分sheet页处理数据: /*导出EXCEL*/ public void createExcel() { log.info("导出Excel功能已经启动-BEGIN"); JxlUtil jsl = new JxlUtil(); List<Device> dataList =new ArrayList<Device>(); List<DeviceExport> list = new ArrayList<DeviceExport

MySQL修改数据表名和表字段命令行

有时候我们有需要更改数据表名和表字段,那么通过什么命令行更改数据表的名称,表的字段更改,增加 ,删除,下面详细说说操作数据表的方法 1,修改表的名称命令行 ALTER TABLE table_name rename to new_table_name 2,修改表的结构 增加字段 complete ALTER TABLE dc3688 ADD COLUMN complete DECIMAL(2,1) NULL AFTER description 3,修改表的结构 删除字段 ALTER TABLE

R 如何修改数据和变量名

可使用fix修改数据框的数据和数据类型 > df<-data.frame(x1=c(1,2,3,4),x2=c(5,6,7,8)) > df       x1 x2     1 1 5     2 2 6     3 3 7     4 4 8 > fix(df) 若想要修改变量名字 > names(df)     [1] "x1" "x2" > names(df)[1:2]<-c("A","B