我在.txt文件中有大量数据,格式如下:
WOODY, Harlan Fred S2c USN
WOOD, Earl A. PVT USAR
WOOD, Frank S2c USN
WOOD, Harold Baker BM2c USN
WOOD, Horace Van S1c USN
WOOD, Roy Eugene F1c USN
WOOLF, Norman Bragg CWTP USN
WORKMAN, Creighton Hale F1c USN
我想像这样将其转换为csv格式...
WOODY,Harlan Fred,S2c,USN
我在Python中看到可以使用regex和/或split,但是我需要保留名字和姓氏之间的空格。如您所见,大多数条目之间的空间计数不同,偶尔出现的选项卡也可能会出现(我认为)。
最佳答案
这是一种实现方式-先在逗号上分割,然后在多个空格上分割,以避免分割单个隔开的名称。然后用str.join
用逗号将所有项目连接起来:
with open(textfile) as f, open(csvfile, 'w') as fc:
for line in f:
first, others = line.split(',')
row = [first] + [i.strip() for i in others.split(' ') if i]
fc.write(','.join(row) + '\n')
关于python - 替换过多的空格以格式化CSV,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40557594/