【python】csv批量转xlsx,极速!

# -*- coding:utf-8 –*-
 
 
# 导入pandas
import pandas as pd
import os
 
 
# 建立单个文件的excel转换成csv函数,file 是excel文件名,to_file 是csv文件名。 sep=','以分号分隔的csv文件;error_bad_lines=False 忽略错误行数据
def csv_to_xlsx(file, to_file):
 
    data_csv = pd.read_csv(file, encoding='latin1', error_bad_lines=False, sep=',')     # 读取以分号为分隔符的csv文件   sep作用为指定分隔符,默认在Windows系统系分隔符为逗号
    data_csv.to_excel(to_file, sheet_name='data')
 
# 读取一个目录里面的所有文件:
def read_path(path):
    dirs = os.listdir(path)
    return dirs
 
 
# 主函数
def main():
    # 源文件路径
    source = "【file】"
 
    # 目标文件路径
    ob = "【file】"
 
    # 将源文件路径里面的文件转换成列表file_list
    file_list = [source + '\\' + i for i in read_path(source)]
 
    a = 0       # 列表索引csv文件名称放进j_list列表中,索引0即为第一个csv文件名称
    j_list = read_path(source)       # 文件夹中所有的csv文件名称提取出来按顺序放进j_list列表中
    print("---->", read_path(source))       # read_path(source) 本身就是列表
    print("read_path(source)类型:", type(read_path(source)))
    # 建立循环对于每个文件调用excel_to_csv()
    for it in file_list:
        j = j_list[a]    # 按照索引逐条将csv文件名称赋值给变量j
        # 给目标文件新建一些名字列表
        j_mid = str(j).replace(".csv", "")   # 将csv文件名中的.csv后缀去掉
        print("====", j_mid)
        j_xlsx = ob + '\\' + j_mid + ".xlsx"
        csv_to_xlsx(it, j_xlsx)
        print("######", it)
        a = a+1
 
 
if __name__ == '__main__':
    main()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值