Python 如何将数据输入csv?

Python 如何将数据输入csv?,python,csv,Python,Csv,我有一个项目,我想把数据输入csv 如果数据小于500,我希望数据保存在第一列,如果值大于500,另一个数据可以保存在第二列 import csv def rawInputTest(): x = raw_input(">>> Input: ") print x return x def writeToFile(xx): with open('WorkOrderLog.csv', 'a') as f: w=c

我有一个项目,我想把数据输入csv

如果数据小于500,我希望数据保存在第一列,如果值大于500,另一个数据可以保存在第二列

import csv
def rawInputTest():
    x = raw_input(">>> Input: ")
    print x
    return x

def writeToFile(xx):
    with open('WorkOrderLog.csv', 'a') as f:
         w=csv.writer(f)
         a=0
         b=0
         if xx>500:
             b=xx
         elif xx<500:
             a=xx
         g=[a,b]
         w.writerow(g)
while (True):
    rawInputTest()
    writeToFile(rawInputTest())
导入csv
def rawInputTest():
x=原始输入(“>>>输入:”)
打印x
返回x
def写入文件(xx):
将open('WorkOrderLog.csv','a')作为f:
w=csv.writer(f)
a=0
b=0
如果xx>500:
b=xx

elif xx错误在于将
raw_input
返回的字符串与整数进行比较。在Python3中,这将引发一个
类型错误
,而Python2很高兴继续处理错误的输入

在将输入传递给
writeToFile
函数之前,可以在
try:…中将输入转换为int,但ValueError:
块除外

由于需要两个输入,因此必须调用
raw\u input
两次,然后将值传递给write函数。我将编写与此解决方案类似的程序:

import csv


def writeToFile(writer, x, y):
    a = 0
    b = 0
    if x > 500:
        b = x
        a = y
    elif x < 500:
        a = x
        b = y
    g = [a, b]
    writer.writerow(g)


with open('temp.csv', 'ab') as f:
    writer = csv.writer(f)
    while True:
        x = raw_input('>>> Input: ')
        y = raw_input('>>> Input: ')
        try:
            x = int(x)
            y = int(y)
        except ValueError:
            print 'Invalid input: {}, {}'.format(x, y)
        else:  # No error.
            writeToFile(writer, x, y)
导入csv
def writeToFile(写入程序,x,y):
a=0
b=0
如果x>500:
b=x
a=y
elif x<500:
a=x
b=y
g=[a,b]
writer.writerow(g)
打开('temp.csv','ab')作为f:
writer=csv.writer(f)
尽管如此:
x=原始输入('>>>输入:')
y=原始输入('>>>输入:')
尝试:
x=int(x)
y=int(y)
除值错误外:
打印“无效输入:{},{}”。格式(x,y)
否则:#没有错误。
writeToFile(写入程序,x,y)

错误在于将
原始输入返回的字符串与整数进行比较。在Python3中,这将引发一个
类型错误
,而Python2很高兴继续处理错误的输入

在将输入传递给
writeToFile
函数之前,可以在
try:…中将输入转换为int,但ValueError:
块除外

由于需要两个输入,因此必须调用
raw\u input
两次,然后将值传递给write函数。我将编写与此解决方案类似的程序:

import csv


def writeToFile(writer, x, y):
    a = 0
    b = 0
    if x > 500:
        b = x
        a = y
    elif x < 500:
        a = x
        b = y
    g = [a, b]
    writer.writerow(g)


with open('temp.csv', 'ab') as f:
    writer = csv.writer(f)
    while True:
        x = raw_input('>>> Input: ')
        y = raw_input('>>> Input: ')
        try:
            x = int(x)
            y = int(y)
        except ValueError:
            print 'Invalid input: {}, {}'.format(x, y)
        else:  # No error.
            writeToFile(writer, x, y)
导入csv
def writeToFile(写入程序,x,y):
a=0
b=0
如果x>500:
b=x
a=y
elif x<500:
a=x
b=y
g=[a,b]
writer.writerow(g)
打开('temp.csv','ab')作为f:
writer=csv.writer(f)
尽管如此:
x=原始输入('>>>输入:')
y=原始输入('>>>输入:')
尝试:
x=int(x)
y=int(y)
除值错误外:
打印“无效输入:{},{}”。格式(x,y)
否则:#没有错误。
writeToFile(写入程序,x,y)

您走在正确的轨道上。因为每次只获取一个输入值,所以最简单的方法是在将它们写入文件之前收集两个值。但也有其他考虑因素需要考虑。例如,如果用户输入两个大于500的值,会发生什么情况?您的思路是正确的。因为每次只获取一个输入值,所以最简单的方法是在将它们写入文件之前收集两个值。但也有其他考虑因素需要考虑。例如,如果用户输入两个大于500的值,会发生什么情况?