Python - 写入CSV文件和循环

nik*_*i_c 2 python csv for-loop undefined-variable

编辑批准的答案是正确的,我的所有数据都出现在文件中,但由于它循环并将每条信息写入新行,因此数据无组织并以层叠模式显示.此时它只是一个格式化问题.有人遇到过类似的问题吗?

我有一个for循环,我在其中定义了多个变量.我需要将这些变量中的值打印到CSV,而不是一遍又一遍地写入行.我知道这个解决方案涉及在for循环之外放置"with open"语句,但是python不再识别我的变量.

我认为解决方案的另一部分是将数据附加到变量中,以便您可以在for循环之外调用它,但我不知道如何为我的情况执行此操作.

例:

for item in my_list:

    info  = inspect.getmembers(item)
    name = info[0]

import csv

with open("sample.csv", "w") as csvFile:
    fieldnames = ['Item Name']
    writer = csv.DictWriter(csvFile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'Item Name': name })
csvFile.close()
Run Code Online (Sandbox Code Playgroud)

在此示例中,无法定义变量"name",因为它是在for循环中定义的.

Roh*_*ani 6

import csv
with open("sample.csv", "w") as csvFile:
    fieldnames = ['Item Name']
    writer = csv.DictWriter(csvFile, fieldnames=fieldnames)
    writer.writeheader()

    for item in list:
        info  = inspect.getmembers(item)
        name = info[0]

        writer.writerow({'Item Name': name })
Run Code Online (Sandbox Code Playgroud)