首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中合并多个.txt/csv文件

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

Stack Overflow用户
提问于 2018-07-12 13:24:49
回答 2查看 1.6K关注 0票数 0

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

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

代码语言:javascript
复制
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文件。有什么解决方法吗?

EN

回答 2

Stack Overflow用户

发布于 2018-07-12 13:33:50

如果头文件是相同的,那么就应该像下面这样简单

代码语言:javascript
复制
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))
票数 3
EN

Stack Overflow用户

发布于 2018-07-12 13:35:49

代码语言:javascript
复制
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_)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51297877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档