我希望在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中找不到。谢谢!
writerow
需要一个可迭代的对象,每个元素将被写入文件,并由定界符分隔。因此,当您给它一个字符串(它本身是可迭代的)时,它会将每个字符写入文件中,并由定界符分隔。您要做的是提供“行”作为字符串列表。在您的情况下,每一行只有一个字符串,因此请为每一行提供一个只有一个字符串的列表。
正如评论中所说,您甚至不需要使用csv
模块。一个更简单的解决方案:
“没有定界符”,您说?我想除了换行之外。这只是writing lines of text in Python ...
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()
您可以这样解决字符串是序列的问题: