Python 如何将数据移动到标题下方的新行
我已经看过了这里的“类似问题”,没有看到一个是接近的 我有一个用Python编写的文本文件和标题,但是当我打开并将数据写入文件时,它会在标题之后立即开始,当我希望数据在标题下的行上立即开始时。我在这里看了一些建议,它说使用lineterminator参数,但这并没有解决任何问题,所以我想我一定是误用了它 我尝试的是:Python 如何将数据移动到标题下方的新行,python,csv,text-files,newline,Python,Csv,Text Files,Newline,我已经看过了这里的“类似问题”,没有看到一个是接近的 我有一个用Python编写的文本文件和标题,但是当我打开并将数据写入文件时,它会在标题之后立即开始,当我希望数据在标题下的行上立即开始时。我在这里看了一些建议,它说使用lineterminator参数,但这并没有解决任何问题,所以我想我一定是误用了它 我尝试的是: import csv results_file_path = ("C:\\Users\\priper\\Desktop\\freq_sweep_results\\headers_
import csv
results_file_path = ("C:\\Users\\priper\\Desktop\\freq_sweep_results\\headers_01.txt")
with open(results_file_path, 'w', newline='') as filey:
csv_writer = csv.writer(filey, delimiter = '\t', lineterminator='\n')
csv_writer.writerow(['Freq', 'a1','b1','c1'])
filey.close()
frequency = 1000
a1_results = [6.2]
b1_results = [9.9]
c1_results = [90.0]
with open(results_file_path, 'a', newline='') as filey:
csv_writer = csv.writer(filey, delimiter = '\t', lineterminator='\n')
csv_writer.writerow([frequency, a1_results[-1], b1_results[-1], c1_results[-1] ])
文本文件结果:
Freq a1 b1 c11000 6.2 9.9 90.0
Freq a1 b1 c1
1000 6.2 9.9 90.0
所需的文本文件结果:
Freq a1 b1 c11000 6.2 9.9 90.0
Freq a1 b1 c1
1000 6.2 9.9 90.0
有什么想法吗?你能试着换一行吗
csv\u writer=csv.writer(文件Y,分隔符='\t',行终止符='\n')
到
csv\u writer=csv.writer(文件Y,分隔符='\t',行终止符='\r')
“lineterminator='\r'”允许传递到下一行,您是否尝试过lineterminator='\r\n'?当我运行您的代码时,我得到了所需的结果。我也得到了所需的结果,在Python 2和Python 3上,无论是否有
newline='
。Cyrus能否在运行时将其作为一个答案发布,“r”是干什么用的?@Windy71您是否碰巧在Windows上,并用记事本检查文件?记事本不显示Unix行结尾(\n
),仅显示Windows行结尾(\r\n
)。您需要这两种结尾,因为在Windows中两者都需要。嗨,赛勒斯,我会很高兴地接受你的回答,你是第一个正确的,非常感谢你的回答和解释,谢谢!