gpt4 book ai didi

python - Python 读取 csv 文件时跳过第一列

转载 作者:太空宇宙 更新时间:2023-11-03 18:03:43 24 4
gpt4 key购买 nike

我正在尝试读取 csv 文件并从中提取所需的数据。我的代码如下所示。

import csv
file = "sample.csv"
def get_values_flexibly(file, keyword):
def process(func):
return set([func(cell)] + [func(row[index]) for row in reader])

with open(file, 'r') as f:
reader = csv.reader(f)
first_row = reader.next()
if keyword in first_row:
return str(list(set([row[first_row.index(keyword)] for row in reader])))
for index, cell in enumerate(reader.next()):
if cell.endswith(' ' + keyword):
return str(list(set(process(lambda cell: cell[:-len(keyword) - 1]))))
elif cell.split(':')[0].strip() == keyword:
return str(list(set(process(lambda cell: cell.split(':')[1].strip()))))
print get_values_flexibly(file, 'data')

其中sample.csv 如下所示

样本.csv

h1,h2,h3
a data,data: abc,tr
b data,vf data, gh
k data,grt data, ph

我想从输出中排除第一列。我当前的输出是['a','k','b']但我希望它是 ['abc', 'vf', 'grt']反而。如何使用 csv 阅读器实现此目的?

编辑-我有多个文件。每个文件可能有不同的标题,列数也不同。我想要一个适用于所有文件的脚本。此外,第一列的标题始终相同,例如“sample_column”。我想跳过标题为“sample_column”的列中的数据。

最佳答案

您可以使用字典阅读器:

data = {'h1':[], 'h2':[], 'h3':[]}

h = ['h1', 'h2', 'h3']
csvfile = open(dir)
reader = DictReader(csvfile)
for line in reader:
data['h1'].append(line[h[0]][2:])
data['h2'].append(line[h[1]][2:]) # Use indexing to get the bits you want
data['h3'].append(line[h[2]])

关于python - Python 读取 csv 文件时跳过第一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27260134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com