在Python中合并多个.txt / csv文件

时间:2018-07-12 05:24:49

标签: python python-3.x

我在一个目录中有多个.txt文件,我想通过导入python将它们合并为一个。这里的问题是,合并之后,我想将其转换为整个程序所基于的一个csv文件。

到目前为止,我只需要输入一个.txt文件,并通过以下代码将其转换为csv文件:

import io
bytes = open('XYZ.txt', 'rb').read()
df=pd.read_csv(io.StringIO(bytes.decode('utf-8')), sep='\t', parse_dates=['Time'] )
df.head()

现在,我需要输入多个.txt文件,将它们合并,然后将它们转换为csv文件。有解决方法吗?

2 个答案:

答案 0 :(得分:3)

如果标题相同,那么应该很简单

import os
import io

merged_df = pd.DataFrame()
for file in os.listdir("PATH_OF_DIRECTORY"):
    if file.endswith(".txt"):
        bytes = open(file, 'rb').read()
        merged_df = merged_df.append(pd.read_csv(io.StringIO(
            bytes.decode('utf-8')), sep='\t', parse_dates=['Time']))

print(len(merged_df))

答案 1 :(得分:0)

import glob
path="location/of/folder"
allFiles = glob.glob(path + "\\*.txt")

list_ = []
for file in allFiles:
    print(file)
    df = pd.read_csv(io.StringIO(file.decode('utf-8')), sep='\t', parse_dates=['Time'])
    list_.append(df)
combined_files = pd.concat(list_)