如何在python中编写没有任何分隔符的文本文件?

问题描述 投票:3回答:5

我希望在Python 2.7中编写一个包含6行的简单文本文件。我正在使用此代码:

import csv
export=open('./images2/test.tfw', "wb")
writer=csv.writer(export, delimiter=' ', quoting=csv.QUOTE_NONE)
writer.writerow('0.06')
writer.writerow('0.00')
writer.writerow('0.00')
writer.writerow('-0.06')
writer.writerow('-10.59')
writer.writerow('38.49')
export.close()

而且我进入文件内:

0 . 0 6
0 . 0 0
0 . 0 0
- 0 . 0 6
- 1 0 . 5 9
3 8 . 4 9

但是我不想要空格或数字中的其他任何东西,我只需要这个:

0.06
0.00
0.00
-0.06
-10.59
38.49

但是当我尝试delimiter=''delimiter=None时,出现错误“必须设置分隔符”。如何写没有分隔符的数字?也许这是一个非常基本的问题,但我在Google中找不到。谢谢!

python python-2.7 delimiter
5个回答
6
投票

writerow需要一个可迭代的对象,每个元素将被写入文件,并由定界符分隔。因此,当您给它一个字符串(它本身是可迭代的)时,它会将每个字符写入文件中,并由定界符分隔。您要做的是提供“行”作为字符串列表。在您的情况下,每一行只有一个字符串,因此请为每一行提供一个只有一个字符串的列表。


3
投票

正如评论中所说,您甚至不需要使用csv模块。一个更简单的解决方案:


1
投票

“没有定界符”,您说?我想除了换行之外。这只是writing lines of text in Python ...


1
投票
import csv
export=open('./images2/test.tfw', "wb")
writer=csv.writer(export, delimiter='', quoting=csv.QUOTE_NONE)
writer.writerow(['0.06'])
writer.writerow(['0.00'])
writer.writerow(['0.00'])
writer.writerow(['-0.06'])
writer.writerow(['-10.59'])
writer.writerow(['38.49'])
export.close()

0
投票

您可以这样解决字符串是序列的问题:

© www.soinside.com 2019 - 2024. All rights reserved.