繁体   English   中英

如何在 Python 的多列中将我的 output 写入 CSV

[英]How do I write my output to a CSV in multiple columns in Python

我不知道如何将程序的 output 写入列中的 CSV 文件。

目前,我正在做

print(var1, file=outputfile)

但它只写入一个文件,没有指定它在哪一列。我打算使用 csv 模块,但我不太确定如何让每个变量将自己写入我的 excel 文件中的单个列。 例如:

Var1 到 excel 中的 A 列。

Var2 到 excel 中的 B 列...

感谢任何指示和建议。

您需要确定要写出哪些列。 如前所述,您希望将var1和var2写入不同的列。 您可以使用以下方法实现此目的:

import csv

with open('names.csv', 'w') as csvfile:
    fieldnames = ['var1', 'var2']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'var1': var1, 'var2': var2})

这会将var1和var2的值写入分别名为var1和var2的列中

创建一个包含行的列表,然后使用 csv 的 writerows function 逐行写入它们。如果您的列有几个条目,即键有很多值,这将很有用


import csv
list_column=["column_A","column_B"]
column_A= ["var_1"]
column_B= ["var_2"]
list_row[]

#to create a list full of rows as the writerow function reads data row-wise
for i in range(len(column_A)):
    list_temp=[column_A[i],column_B[i]]
    list_row.append(list_temp)


with open (your_csv_file_name, 'w', newline="") as entry:
    writer=csv.writer(entry)
    writer.writerow(list_column)
    writer.writerows(list_row)

    entry.close()

扩展@CalebJ 的答案,较短的版本可能是这样的:

list_1 = ["Hello", "World", "Monty", "Python"]
list_2 = [1, 2, 3, 4]


file = open("columns.txt", "w")
writer = csv.writer(file)

for w in range(4):
iterate through integers 0-3

writer.writerow([list_1[w], list_2[w]])

file.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM