我正在尝试写入 csv 文件的列(A、B、C 等)而不是行。这是我正在尝试的代码:有了这个,我可以在 A 列中写入。在下一个 if 条件下,如果 rec 值 >10 且 <20,我想添加,然后在 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
最佳答案
你应该只用 writer.writerow(l)
写一行。如果您使用 writerows(l)
,您将为 l
中的每个元素写一行,这就是每行一个元素的原因。
关于python - 写入 csv 文件列而不是 python 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34406558/