python - 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))。
但就在两个以上文件之后。
解决方案
复杂的?你的意思是更大的csv文件吗?
我们可以一步完成,而不是将数据附加到空列表然后连接回数据帧,取一个空数据帧(df1),在循环中继续将 df 附加到 df1。
df1=df1.append(df)
然后在最后写出来
df1.to_csv(输出文件,索引=无)
推荐阅读
- python - 如何将列表的一部分写入csv?
- kotlin - 如何从 Observable java rx 1.2 和 kotlin 中提取、工作和返回信息
- reactjs - 如何知道 reactstrap 表单的输入/表单字段的状态?
- apache-spark-mllib - 如何在 spark mlib 中设置 ALS 推荐器的起点?
- r - R删除重复并聚合多列中的总和
- java - RETURNING 子句在 pgAdmin 中有效,但为我的 Java 代码返回 -1
- odoo - 采购订单电子邮件链接已损坏 odoo
- java - 监听按键事件会阻止按键工作
- vue.js - Vuetify 基本模板溢出
- ios - 读取 IOS 相机的镜头位置时,我得到了这个荒谬的值