网络编程
位置:首页>> 网络编程>> Python编程>> python pands实现execl转csv 并修改csv指定列的方法

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

作者:hardecz  发布时间:2022-11-20 01:45:27 

标签:python,pands,execl,csv

如下所示:


# -*- 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))

来源:https://blog.csdn.net/u013870094/article/details/53174536

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com