繁体   English   中英

将数据写入 CSV 文件

[英]Writing data into CSV file

我有一个基本上这样做的代码:

row1 = []
count = 0
writer = csv.writer(myFile)
row = []
for j in range(0, 2):
    for i in range(0, 4):
        row1.append(i+count)
    count = count + 1
    print(row1)
    writer.writerows(row1)
    row1[:] = []

我正在创建一些列表,我想将每个值映射到一列,就像这样

在此处输入图片说明

这个错误显示iterable expected 我怎样才能做到这一点?

@roganjosh 是对的,你需要一次写一行的是writerow

import csv

myFile = open("aaa.csv", "w", newline="")

row1 = []
count = 0
writer = csv.writer(myFile)
row = []
for j in range(0, 2):
    for i in range(0, 4):
        row1.append(i+count)
    count = count + 1
    print(row1)
    writer.writerow(row1)
    row1[:] = []

myFile.close() # Don't forget to close your file

您可能需要调用方法.writerow()而不是复数.writerows() ,因为您在每次调用时向文件写入一行。

另一种方法是一次将多行写入文件。


或者您也可以像这样重构您的代码以在最后编写所有行:

import csv

row_list = []
for j in range(2):
    row = [j+i for i in range(4)]
    row_list.append(row)
# row_list = [
#     [j+i for i in range(4)]
#     for j in range(2)]

with open('filename.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(row_list)

pandas操作表格数据更简单、更容易——您是否有不想使用 Pandas 的原因?

import pandas as pd

df = pd.DataFrame()

for i in range(4):
    df[i] = range(i, i+4)

# Any other data wrangling

df.to_csv("file.csv")

暂无
暂无

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

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