使用熊猫读取和合并文件

时间:2019-01-29 21:15:35

标签: python pandas merge

我有几个.txt文件,格式为/folder/blahblah_*K.txt,其中的星号表示以开氏度为单位的温度。每个文件包含3列(我们将其称为“ A”,“ B”和“ C”)。我想从每个文件中创建一个具有共同索引的DataFrame(第一列,称为“ A”)和“ B”列。

我已经到达了一个DataFrames列表,其中列表中的每个值都是整个数据集(即列表中的每个值包含每个* .txt文件的所有值)。

在所需的DataFrame中,我想用文件名中*表示的温度指定'B'数据的每一列。

到目前为止,我的方法是:

files = glob.glob("folder/blahblah*K.txt")

dataframes = []

for f in files:
    dataframes.append(pd.read_csv(f, sep='\t'))

dataframes_df = pd.DataFrame(dataframes)

有没有办法完成这些任务?有没有更有效的方法?

1 个答案:

答案 0 :(得分:0)

您可以使用concat将所有数据帧组合为一个。像这样:

files = glob.glob("folder/blahblah*K.txt")

dataframes = []

for f in files:
    dataframes.append(pd.read_csv(f, sep='\t')['B'])

dataframes_df = pd.concat(dataframes, axis=1, keys=['A'])

我还没有测试过,但是应该可以让您知道该怎么做。

Merge, concat and append上的文档