美文网首页
Python合并多个EXCEL表为一个csv文件

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

作者: michaelxwang | 来源:发表于2021-01-18 11:37 被阅读0次
# -*- 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')

相关文章

网友评论

      本文标题:Python合并多个EXCEL表为一个csv文件

      本文链接:https://www.haomeiwen.com/subject/ajotzktx.html