【问题标题】:Not full Import multiple csv files into pandas and concatenate into one DataFrame未满 将多个csv文件导入pandas并拼接成一个DataFrame
【发布时间】:2018-02-04 00:15:24
【问题描述】:

请帮助我找到解决方案,解决将数据从多个 csv 文件导入到 python 中的一个 DataFrame 的问题。 代码是:

import pandas as pd
import os
import glob

path = r'my_full_path' 
os.chdir(path)
results = pd.DataFrame()

for counter, current_file in enumerate(glob.glob("*.csv")):
     namedf = pd.read_csv(current_file, header=None, sep=",", delim_whitespace=True)
     results = pd.concat([results, namedf], join='outer')

results.to_csv('Result.csv', index=None, header=None, sep=",")

问题是部分数据正在移动到行而不是根据需要移动到新列。 我的代码有什么问题?

P.S.:我发现有关将多个 csv 文件导入 DataFrame 的问题,例如这里:Import multiple csv files into pandas and concatenate into one DataFrame,但解决方案不能解决我的问题:-(

【问题讨论】:

  • 能否从 pd.concat() 命令中删除 join='outer' 并重试。
  • 为什么链接的解决方案不起作用?错误?不想要的结果?构建数据框列表和连接。

标签: python csv concat glob


【解决方案1】:

通过使用 pd.read_csv.read_csv() 内部的连接解决了 -> append(dataFrames) -> concat:

def get_merged_files(files_list, **kwargs):
dataframes = []
 for file in files_list:
    df = pd.read_csv(os.path.join(file), **kwargs)
    dataframes.append(df)
 return pd.concat(dataframes, axis=1)  

【讨论】:

    猜你喜欢
    • 2014-01-21
    • 2014-01-21
    • 2020-02-05
    • 2019-07-15
    • 2021-04-03
    • 2023-02-01
    相关资源
    最近更新 更多