我正在尝试写入csv文件的列(A,B,C等)而不是行。这是我正在尝试的代码:有了这个,我可以在A列中写入。在下一个if条件中,我想添加如果rec值>&10;<然后在B列中打印。我在注释代码中尝试了类似的东西,但它写的是行而不是列。这样做可能会有很大的工作,但是任何简单和整洁的方式都可以吗?谢谢! (num_file.txt包含随机生成的100个数字,值介于0和100之间)
import csv
l =[]
with open("num_file.txt", "r") as ipfile, open("op1.csv", "w") as opfile:
reader = csv.reader(ipfile)
writer = csv.writer(opfile)
for rec in reader:
for i in range(len(rec)):
if float(rec[i]) < 10:
l.insert(0,[rec[i]])
#if float(rec[i]) > 10 and float(rec[i]) < 20:
# l.insert(1,[rec[i]])
writer.writerows(l)
CSV文件输出现在是这样的:
4.57
2.1
7.05
8.05
3.27
8.9
5.45
8.74
4.55
答案 0 :(得分:1)
你应该用writer.writerow(l)
写一行。如果您使用writerows(l)
,则会为l
中的每个元素写一行,这就是每行有一个元素的原因。