我在文本文件中有多行文本,看起来类似于:
2012-03-16 13:47:30.465 -0400 START Running Lab.script 19 on_the
Run Code Online (Sandbox Code Playgroud)
我希望能够将此文本文件转换为csv.我已经使用这段代码完成了:
fin = csv.reader(open('LogFile.txt', 'rb'), delimiter='\t')
fout = open('newLogFile.csv', 'w')
for row in fin:
fout.write(','.join(row) + '\n')
Run Code Online (Sandbox Code Playgroud)
但现在,我的问题是我需要能够在行的这一部分的空格后面添加一个",":
2012-03-16 13:47:30.465 -0400
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做,我尝试使用split()来分割当前的行/位置,但它不起作用.任何建议都会非常有帮助.
谢谢
从一开始就用制表符分隔所有内容会有帮助吗?如果是的话你可以参考这个答案,基本上
对于这个用例有一个特殊的快捷方式!
如果您在不带参数的情况下调用 str.split,它将按空格而不是单个字符进行拆分。所以:
Run Code Online (Sandbox Code Playgroud)>>> ' '.join("Please \n don't \t hurt \x0b me.".split()) "Please don't hurt me."
所以对你来说就是
newLogFile = open('newLogFile.csv', 'w')
textFile = open('LogFile.txt', 'rb')
for row in textFile:
newLogFile.write('\t'.join(row.split()))
Run Code Online (Sandbox Code Playgroud)
你还说
但现在,我的问题是我需要能够在这部分行的空格后面添加一个“,”:
2012-03-16 13:47:30.465-0400
对我来说这听起来像你想要的
2012-03-16 ,13:47:30.465 ,-0400
Run Code Online (Sandbox Code Playgroud)