Extracting data from multiple files with python
<p>I'm trying to extract data from a directory with 12 .txt files. Each file contains 3 columns of data (X,Y,Z) that i want to extract. I want to collect all the data in one df(InforDF), but so far i only succeeded in creating a df with all of the X,Y and Z data in the same column. This is my code: </p>

<pre><code>import pandas as pd
import numpy as np
import os
import fnmatch

path = os.getcwd()

file_list = os.listdir(path)

InfoDF = pd.DataFrame()

for file in file_list:
    try:
        if fnmatch.fnmatch(file, '*.txt'):
            filedata = open(file, 'r')
            df = pd.read_table(filedata, delim_whitespace=True, names={'X','Y','Z'})

    except Exception as e:
        print(e)
</code></pre>

<p>What am i doing wrong? </p>

<p>I think you need <a href="https://docs.python.org/2/library/glob.html" rel="nofollow"><code>glob</code></a> for select all files, create list of <code>DataFrames</code> <code>dfs</code> in <code>list comprehension</code> and then use <a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.concat.html" rel="nofollow"><code>concat</code></a>:</p>

<pre><code>files = glob.glob('*.txt')
dfs = [pd.read_csv(fp, delim_whitespace=True, names=['X','Y','Z']) for fp in files]

df = pd.concat(dfs, ignore_index=True)
</code></pre>

python numpy dataframe