欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-01-21 13:06:16
如下所示: # -*- coding: utf-8 -*- import os import pandas as pd import numpy as n...

如下所示:

# -*- 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指定列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇: SQLServer Temp tables 数据疑问

下一篇: