Python连接多个没有标题的CSV文件

时间:2017-08-18 14:36:03

标签: python pandas csv

所以我有大约3,000个csv文件,它们的名称都不同。例如,CDEE.csv和结构只是一行,包含名称和金额。

CDEE | 3993

我尝试连接并继续

CDEE | 3993 | AASE| 3939 .........

但我想要

CDEE | 3992
AASE | 3939
xxxx | yyyy

这是代码:     将pandas导入为pd     import glob,os

path = "/home/username/myfolder" 
os.chdir(path)
results = pd.DataFrame([])

for counter, file in enumerate(glob.glob(".csv*")):
    namedf = pd.read_csv(file,skiprows=0, usecols=[1,2,3])
    results = results.append(namedf)

results.to_csv('Combined.csv')

感谢您的帮助,我真的很感激!

1 个答案:

答案 0 :(得分:1)

您需要使用记录为here

pd.concat
import pandas as pd
import os
import glob

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="|")
    print(namedf)
    results = pd.concat([results, namedf])

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

请注意,修复的错误很少:

  • glob.glob(".csv*")更改为glob.glob("*.csv")以获取以.csv
  • 结尾的所有文件
  • 获得以下输出:
CDEE|3992
AASE|3939
xxxx|yyyy

您需要使用df.to_csv调用index=None以不编写索引,header=None不编写标题,sep="|"使用|作为分隔符代替默认,