小程序——将Excel文件批量转换为csv格式

工作时候需要将一批Excel文件转换成csv格式。手动转换未免太麻烦。于是利用python中的pandas写了一个小程序来实现了这个功能。

程序的逻辑是这样的。首先将待转换的Excel文件放在某个文件夹中,这个文件夹的路径就叫做源路径。然后读取源路径中的文件,并将他们表示成完整路径的字符串。例如:D:\CDDE中的sss.xls 表示成D:\CDDE\sss.xls 。下一步需要为转换好的csv文件命名。这里我就用数字1.csv,2.csv 来命名,同样需要构造出完整路径的字符串,例如C:\1.csv
最后调用自己编写的转换函数,这个比较容易,只要pandas中的to_csv()方法 。

使用这个小程序时需要提前安装pandas。然后指定Excel文件所在的路径,即源路径;以及输出csv文件夹,即目标路径。需要提前创建好目标路径。

以下附上完整代码:


# -*- coding:utf-8 –*-
'''
程序用来将excel批量转换为csv文件。指定源路径和目标路径。
在main函数中指定源文件路径source,目标文件路径ob.

这个程序假设Excel文件放在:D:\CDDE
输出csv文件到:D:\cc
'''

#导入pandas
import pandas as pd
import os


#建立单个文件的excel转换成csv函数,file 是excel文件名,to_file 是csv文件名。
def excel_to_csv(file,to_file):
    data_xls=pd.read_excel(file,sheet_name=0)
    data_xls.to_csv(to_file)



#读取一个目录里面的所有文件:
def read_path(path):
    dirs=os.listdir(path)
    return dirs

#主函数
def main():
    #源文件路径
    source="D:\CDDE\"

    #目标文件路径
    ob="D:\cc"

    #将源文件路径里面的文件转换成列表file_list
    file_list=[source+'\\'+i for i in read_path(source)]
    j=1
    #建立循环对于每个文件调用excel_to_csv()
    for it in file_list:
        #给目标文件新建一些名字列表
        j_mid=str(j)
        j_csv=ob+'\\'+j_mid+".csv"
        excel_to_csv(it,j_csv)
        print(it)
        j=j+1

if __name__ == '__main__':
    main()
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值