【发布时间】:2018-08-01 04:16:48
【问题描述】:
我有一个包含 3 列的 CSV 文件。假设:a、b、c。我正在使用csv.dictReader 来读取它并添加另一列,其中每一行都包含文件的名称。
这是我的功能:
def addFilename(self):
with open(self.datafile, "r") as f:
reader = csv.DictReader(f, delimiter='|')
for a, b, c in reader:
#Get filename
filename = self.getFilename()
yield {
"_source": {
"a": a,
"b": b,
"c": c,
"filename": filename
}
}
现在我想将这种行为概括为许多不同的 CSV 文件。这些文件具有不同的列数和不同的列名。有办法吗?
我不想修改 CSV 文件。我唯一知道的是我可以使用reader.fieldnames 获取字段名(和字段数),但我不知道如何在yield 中使用它。
【问题讨论】: