具体是这样,某路径下有很多 excel文件,文件名中包含相同关键字的是一类文件,把包含相同关键字的文件合并成一个文件,生成一个新的csv文件

  

# coding=utf-8
import xlrd
import xlwt
import datetime
import os
import time
import httplib2 # 具体是这样,某路径下有很多 excel文件,文件名中包含相同关键字的是一类文件,把包含相同关键字的文件合并成一个文件,生成一个新的csv文件
class csvFile:
def WriteLog(self, message, fileName):
with open(fileName, 'a') as f:
f.write(message) def combinExcelToCsv(self,keyword_list,mainExceldir = "D:\\work\\Excel_txtProcesss\\new-微博",csvDir="D:\\work\\Excel_txtProcesss\\new-微博-合并"): # 把文件名中包含上述文件列表的文件合并成一个文件,比如最新微博-new77723-长城.xls和最新微博-new60000-长城.xls 合并成一个文件:长城.csv
key_filelist_dict = {}
for root, dirs, files in os.walk(mainExceldir):
for key in keyword_list:
filelist = []
for file in files:
strfilename = mainExceldir + "\\" + file
if file.find(key) > -1:
filelist.append(strfilename)
if len(filelist) > 0:
key_filelist_dict[key] = filelist for key1 in key_filelist_dict.keys():
filename = os.path.join(csvDir, key1 + ".csv")
file_list = key_filelist_dict[key1]
file_index = 0 for file in file_list:
print(file)
try:
data = xlrd.open_workbook(file)
table = data.sheets()[0]
nrows = table.nrows
ncols = table.ncols # 文件标题
if file_index==0:
rowValues = table.row_values(0)
headtitle = ""
for colIndex in range(0,ncols):
headtitle += str(rowValues[colIndex])+","
self.WriteLog(headtitle, filename) file_index+=1
for i in range(1, nrows):
rowValues = table.row_values(i)
message = ""
for colIndex in range(0, ncols):
message += str(rowValues[colIndex]).replace(",", ",") + ","
print(i)
message = message.replace("\n", "")
message = message.encode("gbk", "ignore").decode("gbk")
self.WriteLog("\n"+message, filename)
except UnicodeDecodeError as rr:
print("error:" + file)
print(rr.args) obj = csvFile()
keyword_list = ["BOSS直聘", "VIVO", "蒙牛", "宝马", "拼多多", "OPPO", "上汽通用", "小米", "优信", "长城", "", "百威", "东风", "东鹏",
"富连网", "链家", "青岛", "一汽大众", "梅赛德斯-奔驰"]
# 存放excel文件路径
mainExceldir="D:\\work\\Excel_txtProcesss\\new-微博"
# 要生成的csv文件路径
csvDir="D:\\work\\Excel_txtProcesss\\new-微博-合并"
obj.combinExcelToCsv(keyword_list,mainExceldir)

python3 把excel文件合并并保存到csv文件的更多相关文章

  1. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  2. 使用scrapy爬取的数据保存到CSV文件中,不使用命令

    pipelines.py文件中 import codecs import csv # 保存到CSV文件中 class CsvPipeline(object): def __init__(self): ...

  3. 使用pandas中的raad_html函数爬取TOP500超级计算机表格数据并保存到csv文件和mysql数据库中

    参考链接:https://www.makcyun.top/web_scraping_withpython2.html #!/usr/bin/env python # -*- coding: utf-8 ...

  4. 将一个命令的输出保存到CSV文件

    执行段: 结果段: 补充:配合不同的命令可以使工作更加简单 使用Imort-Csv命令从文件中导入结构化数据

  5. C# 一些代码小结--datGirdView 保存到csv文件

    if (dataGridView1.Rows.Count == 0) { MessageBox.Show("No data available!", "Prompt&qu ...

  6. 多种方法爬取猫眼电影Top100排行榜,保存到csv文件,下载封面图

    参考链接: https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/83663400 https://www.makcyun.top/web_sc ...

  7. 记录python爬取猫眼票房排行榜(带stonefont字体网页),保存到text文件,csv文件和MongoDB数据库中

    猫眼票房排行榜页面显示如下: 注意右边的票房数据显示,爬下来的数据是这样显示的: 网页源代码中是这样显示的: 这是因为网页中使用了某种字体的缘故,分析源代码可知: 亲测可行: 代码中获取的是国内票房榜 ...

  8. iOS开发——数据持久化&本地数据的存储(使用NSCoder将对象保存到.plist文件)

    本地数据的存储(使用NSCoder将对象保存到.plist文件)   下面通过一个例子将联系人数据保存到沙盒的“documents”目录中.(联系人是一个数组集合,内部为自定义对象).   功能如下: ...

  9. np.savetxt()——将array保存到txt文件,并保持原格式

    问题:1.如何将array保存到txt文件中?2.如何将存到txt文件中的数据读出为ndarray类型? 需求:科学计算中,往往需要将运算结果(array类型)保存到本地,以便进行后续的数据分析. 解 ...

随机推荐

  1. PHP反序列漏洞学习

    0x00 序列化和反序列化 在PHP中,序列化和反序列化对应的函数分别为serialize()和unserialize(). 序列化:serialize()将对象转换为字符串以便存储传输的一种方式. ...

  2. 机器学习之路: python nltk 文本特征提取

    git: https://github.com/linyi0604/MachineLearning 分别使用词袋法和nltk自然预言处理包提供的文本特征提取 from sklearn.feature_ ...

  3. PHP渗透中的奇淫技巧--检查相等时的漏洞

    PHP是现在网站中最为常用的后端语言之一,是一种类型系统 动态.弱类型的面向对象式编程语言.可以嵌入HTML文本中,是目前最流行的web后端语言之一,并且可以和Web Server 如apache和n ...

  4. CodeForces 128D Numbers 构造

    D. Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  5. Redis中文API地址

    地址:http://redis.readthedocs.org/en/2.4/string.html

  6. 获取不到offsetHeight问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. dwr.jar简介

    DWR(Direct Web Remotiong)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架, 可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运 ...

  8. 重温PHP面向对象的三大特性

    PHP面向对象的三大特性:封装性.继承性.多态性. 1. 封装性: 也称为信息隐藏,就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系,或者说只公开了一些供开发人员使用的方法. 于是开发人员 ...

  9. [Database] Redis 随笔

    Redis 随笔 1. 特点 非关系数据库 non-relational database 内存数据库 高性能 主从复制 可持久化存储 发布与订阅 支持脚本 2. 数据类型5种 STRING 可以是字 ...

  10. 中国LINUX内核开发大会 ppt演讲资料 与 会议视频

    http://www.ckernel.org/ http://pan.baidu.com/share/home?uk=2086779999&view=share#category/type=0