熊猫错误-将多个文件追加到一个

时间:2018-10-30 18:45:04

标签: python python-3.x pandas append

我有一组没有任何扩展名的文件。它们当前存储在此变量“ allFiles”引用的文件夹中。

allFiles = glob.glob(base2 + "/*")

我正在尝试为allFiles中的每个文件添加扩展名。将.csv添加到文件名。我使用以下代码进行操作:

for file in allFiles:
    os.rename(os.path.join(base2, file), os.path.join(base2, file+'.csv'))

接下来,我尝试按照以下代码将每个csv文件附加到一个文件中。

list_ = []
    for file_ in allFiles:
        try:
            df = pd.read_csv(file_, index_col=None, header=None,delim_whitespace = True, error_bad_lines=False)
            list_.append(df)
        except pd.errors.EmptyDataError:
            continue

运行上面的代码时,出现错误,指出其中一个文件不存在。

Error : FileNotFoundError: File b'/Users/base2/file1' does not exist

但是file1现在已重命名为file1.csv

任何人都可以建议我在上面哪里出错了。谢谢

更新:

allFiles = glob.glob(base2 + "/*")
print(allFiles)
list_ = []
print(list_)
allFiles = [x + '.csv' for x in allFiles]
print(allFiles)
for file_ in allFiles:
    try:
        df = pd.read_csv(file_, index_col=None, header=None)
        list_.append(df)
    except pd.errors.EmptyDataError:
        continue

Error : FileNotFoundError: File b'/Users/base2/file1.csv' does not exist

1 个答案:

答案 0 :(得分:2)

在运行循环之前,请执行以下操作:

为清楚起见进行编辑:

for file in allFiles:
    os.rename(os.path.join(base2, file), os.path.join(base2, file+'.csv'))

###What you're adding###
allFiles = [x+'.csv' for x in allFiles]
########################

for file_ in allFiles:
    try:

基本上,问题在于您正在更改文件名,但没有更改列表中的字符串以反映新的文件名。如果您打印allFiles,则可以看到此信息。以上将为您进行必要的更改。