Python 在文件中循环时添加列名

Python 在文件中循环时添加列名,python,csv,for-loop,pandas,Python,Csv,For Loop,Pandas,我对Python很陌生,所以请容忍我。我有一个包含csv文件的文件夹,其中第一行是我需要处理的数据。所以我需要给他们列名称,这样我可以稍后调用它们。每个csv具有相同的列数。在我的练习中,我使用了三列 我了解如何将文件名添加到单个文件: my_file = pd.read_csv('path\the_file.csv', names = ['first','second','third']) 但是我需要转到我的目录,循环浏览大量的csv文件。老实说,我甚至不知道该怎么做(可悲的是,我知道)。我

我对Python很陌生,所以请容忍我。我有一个包含csv文件的文件夹,其中第一行是我需要处理的数据。所以我需要给他们列名称,这样我可以稍后调用它们。每个csv具有相同的列数。在我的练习中,我使用了三列

我了解如何将文件名添加到单个文件:

my_file = pd.read_csv('path\the_file.csv', names = ['first','second','third'])
但是我需要转到我的目录,循环浏览大量的csv文件。老实说,我甚至不知道该怎么做(可悲的是,我知道)。我已经设法使用os.listdir循环遍历文件名,但当我需要其中的数据时,这对我没有多大用处。我知道一旦我得到那些列名该怎么办

尽可能使用熊猫是非常可取的。我找了很多,但似乎找不到任何真正有效的。我真的很感激你的帮助

编辑: 这是我将要做的一部分,但需要对文件夹中的所有csv文件执行此操作

my_file = pd.read_csv('path\the_file.csv', names=['first','second','third'])
first_col = my_file['first']
second_col = my_file['second']
third_col = my_file['third']
key_codes = []
key_codes.append(second.map(str) + third.map(str))

所以,如果第2列有“123”,而第3列有“4”,那么我就把“1234”改成了“1234”,我做的不止这些,但现在我只需要找出如何循环遍历文件,并将相同的名称/头添加到所有文件中

IIUC您需要
glob

#glob can use path with *.txt - see http://stackoverflow.com/a/3215392/2901002
import glob
key_codes = []
for files in glob.glob('files/*.csv'):
    df = pd.read_csv(files, names = ['first','second','third'])
    key_codes.append(df.second.map(str) + df.third.map(str))
另一种解决方案是通过选择第二列和第三列,还删除了参数
名称
,并将
标题=无
添加到:


我想我不明白这个问题。请解释清楚什么不起作用。嗨@wiredflamingo,你能告诉我们你的步骤吗?记住,所以不是代码工厂,也不是外包代码编写。。。欢迎使用SO或某种…当您循环所有文件时,所需的输出是什么?列出od
数据帧
?或者您需要将所有数据帧合并为一个?对不起,我有一个包含大量CSV文件的文件夹。我需要做一个for循环,向每个CSV添加列名/标题。我不需要重写原始文件,只需要创建它,这样我就可以调用代码中的列。例如,如果第1列显示“123”,第2列显示“4”,我会将其设置为“1234”,但我知道如何操作,我只需要能够调用这些列。希望这有帮助。对不起,您只需要添加列名并将每个列名写入新的csv吗?然后每个文件都有不同的头,还是每个文件都有相同的头?你为什么需要熊猫?哦,谢谢!我以前没有看到这个链接。我曾经尝试过与你发布的内容非常相似的东西,但最终我忘记了我所有的尝试。
#glob can use path with *.txt - see http://stackoverflow.com/a/3215392/2901002
import glob
key_codes = []
for files in glob.glob('files/*.csv'):
    df = pd.read_csv(files, header=None)
    key_codes.append(df.iloc[0,1].astype(str) + df.iloc[0,2].astype(str))