繁体   English   中英

不完整 将多个 csv 文件导入 pandas 并拼接成一个 DataFrame

[英]Not full Import multiple csv files into pandas and concatenate into one DataFrame

请帮助我找到从多个 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=",")

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

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

它是通过在pd.read_csv.read_csv()-> append(dataFrames)-> concat中使用join来解决的:

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)  

你可以尝试使用这个:

import pandas as pd
import os

files = [file for file in os.listdir('./Your_Folder')]  # Here is where all the files are located.

all_csv_files = pd.DataFrame()

for file in files:
    df = pd.read_csv("./Your_Folder/"+file)
    all_csv_files = pd.concat([all_csv_files, df])
    all_csv_files.to_csv("All_CSV_Files_Concat.csv", index=False)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM