python pands实现execl转csv 并修改csv指定列的方法

yipeiwu_com6年前Python基础

如下所示:

# -*- coding: utf-8 -*-
import os 
import pandas as pd
import numpy as np
#from os import sys

def appendStr(strs):
 return "BOQ" + strs

def addBOQ(dirs, csv_file):
 data = pd.read_csv(os.path.join(dirs, csv_file), encoding="gbk")
 data = data[data[u"BOQ条码"] != 'None']
 data[u"BOQ条码"] = data[u"BOQ条码"].astype(np.str)
 data[u"BOQ条码"] = data[u"BOQ条码"].apply(appendStr, 1)
 data.to_csv(os.path.join(dirs, csv_file), index=False, encoding="gbk")

def execl2csvbypandas(dirs, excel_file, addStr):
 newdir = os.path.join(dirs, "csvdir")
 if not os.path.isdir(newdir):
  os.makedirs(newdir)
 filename = os.path.splitext(excel_file)
 data_xls = pd.read_excel(os.path.join(dirs, excel_file), 'Sheet1', index_col=0)
 csvname = os.path.join(newdir, filename[0].join(['sheet1', '.csv']))
 data_xls.to_csv(csvname, encoding='gbk')
 if True == addStr:
  addBOQ(newdir, csvname)

def procExeclFiles(arg, dirs, files):
 print arg
 for f in files:
  file_path = os.path.join(dirs, f)
  if os.path.isfile(file_path):
   print f
   execl2csvbypandas(dirs, f, arg)
 print "end...."

 
if __name__ == "__main__":
 #遍历目录,并把改目录下的execl转为csv,然后存入该目录下csvdir目录下,传参数True时,是给csv中BOQ条码列添加BOQ字符串,一般为False
 os.path.walk(r"C:\Users\Desktop\test", procExeclFiles, (True))

以上这篇python pands实现execl转csv 并修改csv指定列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实战教程之自动扫雷

python实战教程之自动扫雷

前言 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。 一、准备工作 1.扫雷游戏 我是win10,没有默认的扫...

Python3.0中普通方法、类方法和静态方法的比较

一、语法区别 刚接触Python中的面向对象,对于类方法和静态方法难以区分,通过查找知乎、CSDN论坛,废了好大的劲思路才逐渐明朗,所以就总结顺便分享一下。 首先开始编辑代码 #...

Python学习pygal绘制线图代码分享

Python学习pygal绘制线图代码分享

pygal的安装大家可以参阅:pip和pygal的安装实例教程 线图: import pygal line_chart = pygal.Line() line_chart.titl...

python+opencv实现高斯平滑滤波

python+opencv实现高斯平滑滤波

功能: 创建两个滑动条来分别控制高斯核的size和σσ的大小,这个程序是在阈值分割的那个程序上改动的。阈值分割程序在这 注意:由于σ=0σ=0时,opencv会根据窗口大小计算出σσ...

详解python statistics模块及函数用法

本节介绍 Python 中的另一个常用模块 —— statistics模块,该模块提供了用于计算数字数据的数理统计量的函数。它包含了很多函数,具体如下表:...