【问题标题】:place the data according to the header in csv file根据 csv 文件中的标题放置数据
【发布时间】:2014-09-30 04:41:18
【问题描述】:

大家好,我是 python 脚本的新手,我的脚本需要一点帮助

我有这么大的日志文件

xxxx = "qqqqqqq  5466 78455" yyyy = "wwww" zzzz = "hhhh" mmmm = "aaaa"
xxxx = "qqqqqqq  8795 32133" yyyy = "wwww" zzzz = "hhhh" mmmm = "aaaa"
xxxx = "qqqqqqq  5995 21384" zzzz = "hhhh" mmmm = "aaaa"
xxxx = "qqqqqqq  6546 12346" yyyy = "wwww" zzzz = "hhhh" mmmm = "aaaa"
xxxx = "qqqqqqq  7895 13246" yyyy = "wwww" zzzz = "hhhh" mmmm = "aaaa"
xxxx = "qqqqqqq 64654 94343" yyyy = "wwww" mmmm = "aaaa"

这个文件继续......

我需要输出为:

 xxxx          yyyy       zzzz         mmmm
  qqqqqqq        wwww       hhhh         aaaa 
  qqqqqqq        wwww       hhhh         aaaa
  qqqqqqq                   hhhh         aaaa
  qqqqqqq        wwww       hhhh         aaaa
  qqqqqqq        wwww       hhhh         aaaa
  qqqqqqq        wwww                    aaaa

我的代码是

import csv
import re
fread = open(fileread, "r")
resultFile = open("out4.csv",'w')
wr = csv.writer(resultFile)
try:
     for line in fread:
            regex = re.findall(r'"(.+?)"',line)
            wr.writerow(regex) 
finally:
    fread.close()
    resultFile.close()

对于这段代码,我得到的输出为:

  qqqqqqq        wwww       hhhh         aaaa 
  qqqqqqq        wwww       hhhh         aaaa
  qqqqqqq        hhhh       aaaa
  qqqqqqq        wwww       hhhh         aaaa
  qqqqqqq        wwww       hhhh         aaaa
  qqqqqqq        wwww       aaa

我不知道如何获取表头并根据表头放置数据....

请帮助我或告诉我如何操作

提前致谢!!!!

【问题讨论】:

标签: python regex date csv python-3.x


【解决方案1】:

如果在给定的文本文件中只有 yyyyzzzz 值是可选的,则可以使用复杂模式来匹配整行:

r'(?:xxxx = "([^"]+)") (?:yyyy = "([^"]+)" )(?:zzzz = "([^"]+)" )?(mmmm = "([^"]+)")'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    相关资源
    最近更新 更多