首页 > 解决方案 > pandas.read_csv() 在 for 循环中。为什么我的代码不能工作超过 2 个周期?

问题描述

它适用于简单文件,但不适用于更复杂的文件。

我的文件没有损坏,它们位于正确的目录中。

我尝试了简单的生成文件(1,2,3,4...a,b,c,d...)。

我今晚把它放在 Github 上,这样你就可以运行代码并查看文件。

import os
import glob
import pandas as pd


def concatenate(indir='./files/', outfile='./all.csv'):
    os.chdir(indir)
    fileList = glob.glob('*.CSV')
    dfList = []
    '''colnames = ['Time', 'Number', 'Reaction', 'Code', 'Message', 'date']'''
    print(len(fileList))
    for filename in fileList:
        print(filename)
        df = pd.read_csv(filename, header=0)
        dfList.append(df)
        '''print(dfList)'''
    concatDf = pd.concat(dfList, axis=0)
    '''concatDf.columns = colnames'''
    concatDf.to_csv(outfile, index=None)


concatenate()

错误

无法打开parsers.pyx:无法读取文件(错误:找不到文件(/Users/alf4/Documents/vs_code/files/pandas/_libs/parsers.pyx))。

但就在两个以上文件之后。

标签: pythonpython-3.xpandas

解决方案


复杂的?你的意思是更大的csv文件吗?

我们可以一步完成,而不是将数据附加到空列表然后连接回数据帧,取一个空数据帧(df1),在循环中继续将 df 附加到 df1。

df1=df1.append(df)

然后在最后写出来

df1.to_csv(输出文件,索引=无)


推荐阅读