簡體   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