gpt4 book ai didi

python - 搜索 csv 文件中的列

转载 作者:行者123 更新时间:2023-11-30 22:12:44 25 4
gpt4 key购买 nike

我有一个程序可以生成随机名称和随机问题(两者彼此独立)。我创建了一个名为 QuestionGenerator() 的函数,它应该搜索 csv 文件的第二列并将所有值写入数组。

def QuestionGenerator():
questionlist_file = open('StudentNames&Questions.csv')
reader = csv.reader(questionlist_file)
rownum=0
array=[]
for row in reader:
array.append(row)
rownum=rownum+1
i = random.randint(0,3)
question = array[0,1]
return question

目前,它将文件中的所有值写入数组,而不仅仅是第二列(问题列)。所以数组应该包含以下值

array = ["Consequences of Devolution", "Sources of the Constitution"...."Reasons for a democratic deficit"]

Here is a picture of the csv file

请注意,csv 文件是另存为 .csv 的 Excel 电子表格

最佳答案

Pandas将 csv 文件读入 DataFrame 可能更容易,但如果您想使用 csv:

您在 array.append(row) 中读取的每一行都有两列。要仅获取第二列,请修改代码以读取 array.append(row[1]) 以子集到正确的列。

数组实际上是一个问题列表,要获得随机问题,您只需从列表中选择一个元素:

i = random.randint(1,3)
问题=数组[i]

请注意,i 应该介于 1 和问题数之间,因为 array 中的第一个条目将是“questions”,即列的名称。为此,我们可以使用 i = random.randint(1, len(array) - 1) 来处理不同数量的问题。

完整的工作代码是:

def QuestionGenerator():
questionlist_file = open('StudentNames&Questions.csv')
reader = csv.reader(questionlist_file)
rownum=0
array=[]
for row in reader:

# Check to make sure the question cell is not blank
if row[1] != '':

# Add only the second column to list
array.append(row[1])
rownum=rownum+1

# Select a random question from the list
i = random.randint(1,len(array) - 1)
question = array[i]

return question

关于python - 搜索 csv 文件中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51022870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com