Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将多个输入写入两个单独记录中的csv文件?_Python_Python 2.7_Csv - Fatal编程技术网

Python 如何将多个输入写入两个单独记录中的csv文件?

Python 如何将多个输入写入两个单独记录中的csv文件?,python,python-2.7,csv,Python,Python 2.7,Csv,我试图提示用户输入拼写测试的定义和答案,每个定义和答案都可以作为字符串保存在变量中,并写入csv(txt)文件。然而,我还试图将单词的定义及其答案保存在单独的记录中: 例如 请考虑我是新的编码,因此对Python有非常基础的知识。 def create_new_test(): print "Create New Test" # Prompts user to enter each definition and their answers. definition = raw_input(

我试图提示用户输入拼写测试的定义和答案,每个定义和答案都可以作为字符串保存在变量中,并写入csv(txt)文件。然而,我还试图将单词的定义及其答案保存在单独的记录中:

例如

请考虑我是新的编码,因此对Python有非常基础的知识。

def create_new_test():

    print "Create New Test"
# Prompts user to enter each definition and their answers.
definition = raw_input("Enter definition: ")
answer = raw_input("Enter word: ")
definition_2 = raw_input("Enter definition: ")
answer_2 = raw_input("Enter word: ")
definition_3 = raw_input("Enter definition: ")
answer_3 = raw_input("Enter word: ")
definition_4 = raw_input("Enter definition: ")
answer_4 = raw_input("Enter word: ")
definition_5 = raw_input("Enter definition: ")
answer_5 = raw_input("Enter word: ")
definition_6 = raw_input("Enter definition: ")
answer_6 = raw_input("Enter word: ")
definition_7 = raw_input("Enter definition: ")
answer_7 = raw_input("Enter word: ")
definition_8 = raw_input("Enter definition: ")
answer_8 = raw_input("Enter word: ")
definition_9 = raw_input("Enter definition: ")
answer_9 = raw_input("Enter word: ")
definition_10 = raw_input("Enter definition: ")
answer_10 = raw_input("Enter word: ")
## Writes input to the csv file. Defintions and answers are stored in two separate records.
with open('Test.txt','w',newline='') as fp:
    a = csv.writer(fp,delimeter=',')
    data    = [[definition,definition_2,definition_3,definition_4,definition_5,definition_6,definition_7,definition_8,definition_9,definition_10],
        [answer,answer_2,answer_3,answer_4,answer_5,answer_6,answer_7,answer_8,answer_9,answer_10]]
    a.writerows(data)
这就是你要找的吗?
这将生成一个“csv”文件,如下所示:

definition,answer
Has a long neck nad loves to eat trees,giraffe
Is blue and rain comes from it,sky
....
这在CSV文件中是一种普通的问答语法,但是出于某种原因,您希望对其进行结构调整,使其水平对齐,而不是垂直对齐(不确定为什么…)


我正要写下@jonrsharpe给出的答案,所以如果你真的想要水平对齐而不是表格对齐,那么就这样做吧。

这是一个循环:

defs = []
answ = []
for _ in range(10):
    defs.append(raw_input("Enter definition: "))
    answ.append(raw_input("Enter word: "))
with open("test.txt", "w") as fp:
    fp.write(",".join(defs))
    fp.write(",".join(answ))
请注意,您现在将使用
defs[3]
(列表索引以零为基础),而不是如
definition\u 4
。您还可以轻松地循环定义:

for defn in defs:

你能更清楚地说明你已经写的东西有什么问题吗?错误(提供完整的回溯)?意外输出(提供输入以及预期和实际输出)?缩进错误-这是代码的真实外观,还是复制粘贴错误?
defs = []
answ = []
for _ in range(10):
    defs.append(raw_input("Enter definition: "))
    answ.append(raw_input("Enter word: "))
with open("test.txt", "w") as fp:
    fp.write(",".join(defs))
    fp.write(",".join(answ))
for defn in defs: