我有一个文本文件,其中数据处于此形式:
格式化之前:
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(":")))