在写入文本文件时添加分隔符
Posted
技术标签:
【中文标题】在写入文本文件时添加分隔符【英文标题】:Add delimiters while writing into a text file 【发布时间】:2021-05-14 12:53:03 【问题描述】:我正在将一个数组写入文本文件,稍后我用它来读取 excel 以进行绘图。 数据文件以这样的方式拆分,在 1000000 步(大约)之后,文件关闭并开始写入另一个文件。
但是,我的文本文件将数据写入为一大块没有任何分隔符的值。 请参考下面的代码,让我知道我哪里出错了。
counter = 1
for i in range(0, len(abc_value), 1000000):
with open(f"abccounter.txt", "w") as file:
for val in abc_value[i:i + 1000000]:
file.write(str(val))
file.close()
counter += 1
谢谢!
【问题讨论】:
使用docs.python.org/3/library/csv.html#csv.writer或使用writeline()而不是write。 当我使用 writline() 时,我得到错误 "_io.TextIOWrapper' object has no attribute 'writeline" 我为 csv writer 添加了示例。 当你从来没有要求它写任何分隔符时,为什么你期望它写任何分隔符? How to debug small programs. | What is a debugger and how can it help me diagnose problems? 橡皮鸭调试这一点尤为重要。 嗯,你有没有尝试过类似file.write(str(val)+',')
【参考方案1】:
这个想法是正确的,但是您正在读取数组的值并且它们没有逗号。将值传递给字符串时必须添加逗号。 一个简单的方法是:
counter = 1
for i in range(0, len(abc_value), 1000000):
with open(f"hola.txt", "w") as file:
file.write(str(abc_value[i]))
for val in abc_value[i+1:i + 1000000]:
file.write(", " + str(val))
file.close()
counter += 1
【讨论】:
谢谢!这有帮助!【参考方案2】:请参阅下面的示例以了解如何使用csv writer。
import csv
with open('abc.txt', 'w') as csv_file:
wrtr = csv.writer(csv_file)
for val in range(10):
wrtr.writerow(str(val))
【讨论】:
感谢 csv 编写器教程。很有帮助。以上是关于在写入文本文件时添加分隔符的主要内容,如果未能解决你的问题,请参考以下文章