如何将:char转换为python中的文件中的newline



我有一个文本文件,其中数据处于此形式:

格式化之前:

a1 ,a2,a3:b1 ,b2,b3:c1 ,c2,c3:....so on. 

现在我想以这种特定形式转换数据:

格式化后:

a1,a2,a3
b1,b2,b3
c1,c2,c3
...so on

做:首先,我想在" newline"中转换: char,并希望在每个第一个字符(例如a1 b1 c1(之后恢复空间。该空间正在创建问题,因为格式化后的数据将转换为CSV文件。

我尝试将一个char从一个文件传输到另一个文件,在该文件中,我使用了一个情况下将:替换为" newline"。对于Newline,我使用了此n

file.txt是包含 a1 ,a2,a3:b1 ,b2,b3:c1 ,c2,c3:....so on

的文件

convert.txt如果我想要格式化数据的文件

with open('file.txt','r') as rf:
    with open('convert.txt','w') as wf:
        a=1
        rf_temp = rf.read(a)
        while len(rf_temp) > 0:
            if rf_temp == ':':
                rf_temp.replace(':','n')
            wf.write(rf_temp)
            rf_temp = rf.read(a)
    wf.close()
rf.close

数据被清楚地复制而不是我想要的格式,包括':'此符号。复制没有问题。

str.split

一起使用str.join

ex:

print("n".join("a1 ,a2,a3:b1 ,b2,b3:c1 ,c2,c3".split(":")))

输出:

a1 ,a2,a3
b1 ,b2,b3
c1 ,c2,c3
# define the input file and output file
inputFile = 'test.txt'
outFile = "test.csv"
# read data from input file
data = open(inputFile).read()
# change data to wanted format, using 'n' to replace ':'
data = "n".join(data.split(':'))
# save the changed data to output file
outF = open(outFile, 'w')
outF.write(data)
print(data)

输出

a1 ,a2,a3
b1 ,b2,b3
c1 ,c2,c3
a = "a1 ,a2,a3:b1 ,b2,b3:c1 ,c2,c3"
b = a.split(":")
for i in b:
    print(i)

如果您需要一行解决方案,则可以按照以下方式进行

print("n".join(a.split(":")))

最新更新