Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从文件夹中选择csv文件中的列?_Python_Pandas_File_Export To Csv_Glob - Fatal编程技术网

Python 如何从文件夹中选择csv文件中的列?

Python 如何从文件夹中选择csv文件中的列?,python,pandas,file,export-to-csv,glob,Python,Pandas,File,Export To Csv,Glob,我试图从我的文件中选择“第3列”,然后将它们合并到一个文件中。问题是,当我梳理这些列时,它们的模式与文件夹中的文件不同。例如,我在文件夹“First、Second和Third”中有三个文件。下面给出的代码总是在读取“第一”文件之前读取“第二”文件。有人能帮我吗 import glob import pandas as pd import numpy as np from tqdm import tqdm extension = 'dat' all_filenames = [i for i in

我试图从我的文件中选择“第3列”,然后将它们合并到一个文件中。问题是,当我梳理这些列时,它们的模式与文件夹中的文件不同。例如,我在文件夹“First、Second和Third”中有三个文件。下面给出的代码总是在读取“第一”文件之前读取“第二”文件。有人能帮我吗

import glob
import pandas as pd
import numpy as np
from tqdm import tqdm
extension = 'dat'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
df = pd.DataFrame(np.nan, index = np.arange(1394521), columns = ["velocity-magnitude"])
for i,f in tqdm(enumerate(all_filenames)):
    reader = pd.read_csv(f, sep=r"\s+")    
    col = reader.iloc[:,[3]]
    frames = [df,col]
    df = pd.concat(frames, axis=1,join="outer")
    df.to_csv('combined.dat', mode='a', header = False, index = False)

glob.glob
在内部使用
os.listdir
。这解释了文件的任意顺序。如果您想要一些特定的排序,那么您必须自己应用它,例如,使用
排序(glob.glob('*.{}'.format(extension))

谢谢NYC编码器,是的,这个排序函数是我问题的解决方案