Python 分析pandas中多个.txt文件中的数据

Python 分析pandas中多个.txt文件中的数据,python,python-3.x,pandas,matplotlib,finance,Python,Python 3.x,Pandas,Matplotlib,Finance,我有1000多个文本文件。每个都有日期(我制作了指数)和股票价格(第0列)。我创建了代码来查找单个文件的价格移动平均值,以及价格和移动平均值之间的滚动差。我想为每个文件创建这样做的代码。我必须分组上传,因为一次上传会占用太多内存 我想我必须使用for循环来迭代文件并找到每个文件的度量。但是我该怎么做呢?我如何将所有文件上传到一个组中,比如说,将它们分组到一个变量中,然后创建一个循环来查找每个文件的移动平均值和价格差 编辑:我正在使用numpy、pandas和matplotlib。我还希望能够找到

我有1000多个文本文件。每个都有日期(我制作了指数)和股票价格(第0列)。我创建了代码来查找单个文件的价格移动平均值,以及价格和移动平均值之间的滚动差。我想为每个文件创建这样做的代码。我必须分组上传,因为一次上传会占用太多内存

我想我必须使用for循环来迭代文件并找到每个文件的度量。但是我该怎么做呢?我如何将所有文件上传到一个组中,比如说,将它们分组到一个变量中,然后创建一个循环来查找每个文件的移动平均值和价格差

编辑:我正在使用numpy、pandas和matplotlib。我还希望能够找到与移动平均线差异最大的股票


任何帮助都将不胜感激

如果您希望只迭代给定文件夹中的所有输入文件,您可能希望尝试
os.listdir()
获取文件名列表,然后按顺序处理。如果文件分布在文件夹的各个层上,则可以使用
os.walk()
遍历目录。您可以在此处找到有关这些方法的信息:

这1000个文件有多大?如果每个文件都有几MB,只需猜测一下,就可以将所有文件合并到一个文件中,然后您可以对其执行任何操作

import pandas as pd
import csv
import glob
import os

#os.chdir("C:\\Users\\Excel\\Desktop\\test\\")
results = pd.DataFrame([])
filelist = glob.glob("C:\\your_path\\*.csv")
#dfList=[]
for filename in filelist:
    print(filename)  
    namedf = pd.read_csv(filename, skiprows=0, index_col=0)
    results = results.append(namedf)

results.to_csv('C:\\your_path\\CombinedFile.csv')

如果你在问题中编辑一些代码,我们可以看到你尝试了什么,你会得到更准确的答案。你能包括一些你尝试过的代码吗?例如,这个问题显示循环多个文件,当一次上传所有文件时,我没有尝试过很多,坦白地说,我不知道从哪里开始。我可以通过我电脑上的文件夹进行交互吗?就像将文件分离到不同的文件夹中,然后使用for循环一次上载所有文件一样?我是python新手,请跟我说实话。Thanks@linamnt谢谢你告诉我这个问题,但有一个问题是所有的文件都是由股票代码命名的(ABC等),而不是所有相同的名称+一个数字。因此,除非我可以重命名所有文件,在每个电话后添加一个数字,并取出股票代码,否则我不能这样做。我认为下面发布的答案可能是一个好的开始,然后当你需要阅读时,比如说一次读50个文件,你可以使用这个示例将文件名列表拆分成块谢谢!我回到办公室后将尝试此操作。获取以下信息:操作错误:从文件初始化失败。但是谢谢你,我会玩它,看看我是否能得到它。这个错误没有意义。而且,它对我来说非常好。一行一行地运行它,看看错误是从哪里来的。我想你很快就会明白的。解决一些可能在Pandas中引发错误的文件问题,以及如何修复这些问题—主要与文件名中的非标准字符或权限问题有关。值得一看,看看它是否相关。嗯,只是想…也许你的一些CSV文件中有一些特殊字符。你能创建3个真正基本的CSV文件并在上面测试代码吗?它应该很好用。然后,您知道您正在处理的特定文件有一些古怪的地方。在导入各种数据集时,可以进行各种文本清理练习。最后,您可能需要应用特殊编码,然后读取CSV文件,如“encoding='utf-8'。请参阅以下链接以获取一些指导。嘿,伙计们,谢谢你们的意见,我真的很感激。我想出了一种方法,将每个文件附加到一个列表中,然后创建循环来遍历每个文件,这似乎是可行的。我还有一个问题,我很快就会发布,但我只想说我真的很感谢你的帮助。干杯