Python合并多个EXCEL表为一个csv文件

2021-01-18  本文已影响0人  michaelxwang
# -*- coding: utf-8 -*-
"""
Created on Fri Oct  9 20:59:55 2020

@author: mw
"""

import os
dirpath =  './'
import pandas as pd

combine= pd.DataFrame()

for root,dirs,files in os.walk(dirpath):
    for file in files:
        # 使用join函数将文件名称和文件所在根目录连接起来
        file_dir = os.path.join(root, file)
        file_dir = file_dir.replace("\\","/")
       
        if file_dir[-4:]=='xlsx':
            dat = pd.read_excel(file_dir, sheet_name = 0)
            dat['file_dir']=file_dir
            combine= combine.append(dat)
            print(file_dir)
        else:
            continue    
    
combine.to_csv('combine.csv',sep='|',index=False,quoting=1,encoding = 'GB18030')
 

# -*- coding: utf-8 -*-
"""
Created on Fri Oct  9 20:59:55 2020

@author: mw
"""


import os
import sys
import pandas as pd
import chardet

dirpath =  './'


combine=pd.DataFrame()


for root,dirs,files in os.walk(dirpath):
    for file in files:
        # 使用join函数将文件名称和文件所在根目录连接起来
        file_dir = os.path.join(root, file)
        file_dir = file_dir.replace("\\","/")

        if file_dir[-4:]=='xlsx':
            dat = pd.read_excel(file_dir, sheet_name = 0)

        elif file_dir[-3:]=='csv':
            #获取文件编码
            with open(file_dir,'rb') as f:
                for line in f.readlines():
                    conding = chardet.detect(line)['encoding']
                    break
                dat = pd.read_table(file_dir,sep = ',', encoding = conding)

        else:
            continue
        
        dat['file_dir']=file_dir  
        combine= combine.append(dat)
        print(file_dir)
        print(combine.shape)
        
combine.to_csv('combine.csv',sep='|',index=False,quoting=1,encoding = 'GB18030')

上一篇 下一篇

猜你喜欢

热点阅读