【问题标题】:How can I read the contents of all the files in a directory with pandas?如何使用 pandas 读取目录中所有文件的内容?
【发布时间】:2015-03-01 05:18:48
【问题描述】:

我有一个包含大量 .txt 文件的文件夹。如何读取文件夹中的所有文件并使用 pandas 获取它们的内容?我尝试了以下方法:

import pandas as pd
list_=pd.read_csv("/path/of/the/directory/*.txt",header=None)
print list_

【问题讨论】:

  • 你想把它们全部读入同一个DataFrame吗?
  • 是的,我想将所有文件视为一个。 @ajcr

标签: python python-2.7 pandas


【解决方案1】:

我在我的项目中使用它来合并 csv 文件

import pandas as pd
import os
path = "path of the file"
files = [file for file in os.listdir(path) if not file.startswith('.')]
all_data = pd.DataFrame()

for file in files:
current_data = pd.read_csv(path+"/"+file ,  encoding = "ISO-8859-1")  
all_data = pd.concat([all_data,current_data])

【讨论】:

  • 该问题已经有一个可接受的答案 - 考虑添加一个解释,说明您为什么认为您的答案更有帮助。
  • 这个答案提供了价值,因为它是没有考虑格式的开发人员的替代方案。
【解决方案2】:

类似这样的:

import glob

l = [pd.read_csv(filename) for filename in glob.glob("/path/*.txt")]
df = pd.concat(l, axis=0)

您必须考虑标题,例如,如果您想忽略它,请查看 read_csv 中的 skiprows 选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-27
    • 2017-08-02
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多