Python 如何用逗号替换多种类型的分隔符
我在文本文件中有以下字符串Python 如何用逗号替换多种类型的分隔符,python,python-3.x,replace,Python,Python 3.x,Replace,我在文本文件中有以下字符串 SCF Done:E(RHF)=-100.055079426 A.U.,在9个循环后 我们的目标是将这个字符串转换成csv类型的数据,方法是去掉所有不需要的空白并用逗号替换。这是我到目前为止所拥有的 import csv f = open('testfile1','r') x = f.readlines() s = [] for line in x: line = line.strip(' ') line = line.replace('
SCF Done:E(RHF)=-100.055079426 A.U.,在9个循环后
我们的目标是将这个字符串转换成csv类型的数据,方法是去掉所有不需要的空白并用逗号替换。这是我到目前为止所拥有的
import csv
f = open('testfile1','r')
x = f.readlines()
s = []
for line in x:
line = line.strip(' ')
line = line.replace(' ',',')
s.append(line)
csvex = csv.writer(open('name.csv', "w"), quoting=csv.QUOTE_ALL)
csvex.writerow(s)
代码给出了以下输出
"SCF Done:,E(RHF) =,-100.055079426,, A.U. after,,9 cycles
"
我想让代码给我以下输出
"SCF,Done:,E(RHF),=,-100.055079426,A.U.,after,9,cycles"
我该如何着手解决这个问题 csvwriter.writerow
接受iterable(列表、元组等)()
此脚本逐行读取输入文件,拆分该行并将该行写入csv文件
如果file.txt
包含:
SCF Done: E(RHF) = -100.055079426 A.U. after 9 cycles
然后这个脚本:
import csv
with open('file.csv', 'w') as f_out, \
open('file.txt', 'r') as f_in:
csvex = csv.writer(f_out, quoting=csv.QUOTE_MINIMAL)
for line in f_in:
csvex.writerow(line.strip().split())
编写csv文件file.csv
,内容如下:
SCF,Done:,E(RHF),=,-100.055079426,A.U.,after,9,cycles
“,”.join(line.split())是一个函数,它将拆分,然后在每个空间插入“,”。!如果我不是一个麻烦,我有两个问题。首先,我没有看到您在哪里插入了,
作为分隔符。python如何知道在去掉空白后插入什么?另外,QUOTE_MINIMAL
在代码中到底实现了什么。@JM8csv
模块正在使用逗号作为默认分隔符写入csv文件QUOTE_MINIMAL
表示如果字符串中有分隔符或其他引号字符,它将引用这些字段。更多信息请点击这里
import csv
file = open("testfile1",'r')
x=file.readlines()
s=[]
for line in x:
line = line.strip(' ')
line = ",".join(line.split())
s.append(line)
csvex = csv.writer(open("name.csv", "w"), quoting=csv.QUOTE_ALL)
csvex.writerow(s)