我有一段代码,它应该将我的txt文件拆分为“带空格的逗号”,如下所示:
Bobo Soso(bobososo), tu tu(tutu), bu bu(bubu)
进入如下所示的csv文件:
Bobo Soso(bobososo)
tu tu(tutu)
bu bu(bubu)
我使用以下代码:
import csv
with open('test1.txt', 'r') as in_file:
for line in in_file:
lines = line.split(', ') #for line in stripped if line)
with open('log.csv', 'w') as out_file:
writer = csv.writer(out_file)
writer.writerow('title')
writer.writerows(lines)
但它像这样奇怪地分开,每个后面都有一个逗号:
B,o,b,o, S,o,s,o,(b,o,b,o,s,o,s,o)
t,u, t,u,(t,u,t,u,)
b,u, b,u,(b,u,b,u)
我做错了什么
writerows需要一个iterable行,其中每一行也是iterable。结构通常类似于:
在本例中,您有一个字符串数组(“行”)。字符串反过来也是一个iterable对象:
上面是你的writerows也在做的事情。要解决这个问题,您可以将每个元素封装在行中,或者自己循环行并调用writerow([line[i]])
然而,使用pandas或类似的库将更具python风格。你会在SO或其他网站上找到大量关于如何在你的案例中实现这一点的说明
相关问题 更多 >
编程相关推荐