Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 遍历文件&;读取要保存到csv的内容_Python_Python 2.7_Csv_Os.walk - Fatal编程技术网

Python 遍历文件&;读取要保存到csv的内容

Python 遍历文件&;读取要保存到csv的内容,python,python-2.7,csv,os.walk,Python,Python 2.7,Csv,Os.walk,我有如下目录结构: `~/ansible-environments/aws/random_name_1/inventory/group_vars/all` ~/ansible-environments/aws/random_name_2/inventory/group_vars/all` ~/ansible-environments/aws/random_name_3/inventory/group_vars/all` 所有文件看起来像 ` alias: bloodyhell vendor_i

我有如下目录结构:

`~/ansible-environments/aws/random_name_1/inventory/group_vars/all`
~/ansible-environments/aws/random_name_2/inventory/group_vars/all`
~/ansible-environments/aws/random_name_3/inventory/group_vars/all`
所有文件看起来像

`
alias: bloodyhell
vendor_id: 42
isv_secret_key: "{{ vendor_id }}-SecretKey"
isv_secret_key_id: "{{ vendor_id }}-SecretKeyId"
products: rms_scl
LMIT: 80
sales_order_no: 'RMS_BSO_8182'
`
我需要编写一个python脚本,它可以遍历此目录结构,然后提取别名、LMIT、产品,并将内容写入csv文件,如下所示:

``` 别名、LMIT、产品 布雷德希尔,80岁,皇家海军陆战队

。 . 等等 . ``` 我编写了如下代码:

import os
import sys
rootdir='/home/ubuntu/ansible-environments/aws'
#print "aa"
for root, subdirs, files in os.walk(rootdir):
#  print "a"
  for j in subdirs:
       try:
           mypath = rootdir + '/' + j + '/' + 'inventory/group_vars/all'
           print  mypath
           fo = open(mypath, 'r')
           f = fo.readlines()
           #    print f
           for line in f:
               # print line
               if ('isv_alias' in line or 'LMID' in line or 'products' in line):
                   path = rootdir + '/' + 'list.csv'
                   fi = open(path, 'a')
                   fi.write(line)
                   fi.close()
           fo.close()
       except:
           pass
这就是我得到的结果:


`isv_别名:“血腥地狱”^M
isv_别名:血腥地狱
产品:rms_scl
LMID:80
isv_别名:rmstest2
产品:rms_scl
LMID:80
isv_别名:Surigatest
产品:rms_ems_托管
LMID:26
有人能帮我修一下吗