如何迭代20个.csv文件,对每个文件进行计算[计算部分,如代码所示],并在python中创建separate.scv输出文件? 与每次命名文件不同,我想迭代20个文件
如果如何迭代20个.csv文件,对每个文件进行计算[计算部分,如代码所示],并在python中创建separate.scv输出文件? 与每次命名文件不同,我想迭代20个文件,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,如果df2是静态的,您只想对20个文件进行循环,那么您可以使用os和re来减少需要编写的代码量 import pandas as pd A=pd.read_csv("C:/Users/amulya/Desktop/graves lab/Mani/HIDDEN WORDS/Hidden_word_4.csv") df1=pd.DataFrame(A) B=pd.read_csv("C:/Users/amulya/Desktop/graves lab/words.csv") df2=pd.Data
df2
是静态的,您只想对20个文件进行循环,那么您可以使用os
和re
来减少需要编写的代码量
import pandas as pd
A=pd.read_csv("C:/Users/amulya/Desktop/graves lab/Mani/HIDDEN WORDS/Hidden_word_4.csv")
df1=pd.DataFrame(A)
B=pd.read_csv("C:/Users/amulya/Desktop/graves lab/words.csv")
df2=pd.DataFrame(B)
C=df1[df1.col1.isin(df2.col1)]``
df3=pd.DataFrame(C)
df3.to_csv("C:/Users/amulya/Desktop/graves lab/Mani/HIDDEN WORDS/out4.csv", encoding='utf-8', index=False)
这假设路径中只有那些名称中包含
'Hidden\u word.
的文件是您要分析的文件,但如果不是这样,您可以修改列表的创建,也可以考虑更多的文件命名和组织,以方便类似的操作。您的帖子中几乎没有足够的信息来回答这个问题。当前代码有什么问题?什么是“一些计算”?你到底坚持什么?请创建一个我想运行此代码的“Hidden_word_4.csv”并获得输出“out4.csv”,就像Hidden_word 1,Hidden_word 2…直到20,以及get out 1,out2…直到20。谢谢欢迎来到SO。不幸的是,这不是一个讨论论坛或教程。请花时间阅读该页面上的其他链接。花些时间练习这些例子。它将让您了解Python提供的帮助您解决问题的工具。。。在一个循环中;使用字符串连接或字符串格式为输入和输出文件构造字符串;将代码放入循环中,并对已分配字符串的变量进行操作。
import pandas as pd
import os
import re
path = "C:/Users/amulya/Desktop/graves lab/Mani/HIDDEN WORDS/"
df2 = pd.read_csv("C:/Users/amulya/Desktop/graves lab/words.csv")
files = [file for file in os.listdir(path) if 'Hidden_word_' in file]
for file in files:
num = re.search('.*_(\d{1,2})', file)[1]
df1 = pd.read_csv(path + file)
df3 = df1[df1.col1.isin(df2.col1)]
df3.to_csv(path+'out'+num+'.csv')