我是Python的新用户,希望在CSV文件中阅读以下列出的内容:
DN, whenCreated, name, pwdLastSet, location
"CN=Jackson2,OU=Domain Controllers,DC=one,DC=onecity,DC=net",20100623145323.0Z,Jackson8,1.30745E+17,Japan,
"CN=Jackson4,OU=Prod,OU=Windows 2014 Servers,OU=STE,DC=one,DC=onecity,DC=net",20041208192730.0Z,Jackson7,1.30735E+17,Aussie,
这个CSV文件将有数千行长,我想将所有字段输出到一个新的CSV文件,并将whenCreated
和pwdLastSet
字段更改为人类可读的格式。如有任何建议,将不胜感激。请注意,在这个例子中有5列3行,第一行是列标题。在
所以请别着急,因为这是我写的第一个python脚本。但任何建议、意见、最佳实践都将不胜感激。在
^{pr2}$
正如对您的问题的第一条评论中所提到的,csv模块将负责CSV文件的基本读写。使用第一个example
CSV文件向我们展示了一个
^{pr2}$csv.reader
将把文件中的每一行转换成一个字符串列表类似地,
csv.writer
将获取一个值列表并将其写入输出文件中的一行。在别紧张。在
所以,你的问题中最有趣的部分是:
I)修复第一行(列标题)
请注意,第一个列表中的大多数列名都有前导空格。我们想除掉这些,因为它们可能会有问题。如果你使用过其他语言,你可能会考虑使用循环,例如
但是,在Python中,首选的形式是使用“List comprehension”
II)将
whenCreated
转换为“人类可读格式”。它已经是,真的,但是一些破折号和冒号会将它转换成ISO8601日期格式,所以让我们使用像这样的string对象的
.format
方法要将
row[1]
从这个转换。。。在。。。为此:
III)将
pwdLastSet
转换为“人类可读格式”。我从你更新的问题中看到这些数字是18位的activedirectory时间戳(用科学的表示法),所以我们可以使用
datetime
来转换它们将从中转换
row[3]
。。。在。。。为此:
相关问题 更多 >
编程相关推荐