【问题标题】:How to select the Column from csv file from the folder?如何从文件夹中选择 csv 文件中的列?
【发布时间】:2020-10-31 22:38:02
【问题描述】:

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

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)

【问题讨论】:

    标签: python pandas file export-to-csv glob


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      感谢 NYC Coder,是的,这个 sorted 函数解决了我的问题。

      【讨论】:

        猜你喜欢
        • 2021-01-21
        • 1970-01-01
        • 2020-11-24
        • 2017-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-29
        • 1970-01-01
        相关资源
        最近更新 更多