我以前没有使用过csv module
in python
,但它似乎是一个很好的工具,可以满足我的需求。
我面临的问题是我csv-file
看起来有点奇怪。(一开始很难注意到)
请参阅下面的示例了解我的意思:
A|B|C|D|x|F|G|x|H
1||2||3|4||5|6
1||2||3|4||5|6
1||2||3|4||5|6
1||2||3|4||5|6
上面有一些索引(例如column-x)应读取为Dx和Gx。D 列和G列则为空列。
所以我需要的是,当 csv 处理标题时,它应该创建像Dx和Gx这样的标题并忽略D和G列,而是从x 列中获取值。
(我尝试先使用以下代码按原样读取文件并对其进行后处理,但这是不可能的,因为列名x始终相同,并且csv.DictReader
似乎丢弃了重复的列名)
with open('myCSV.log') as csvFile:
reader = csv.DictReader(csvFile, dialect='pipes')
for row in reader:
print row
这可以通过 adialect
或其他一些奇特的配置方式来实现,csv-module
还是我必须自己解析它?