Python 如何将数据输入csv?
我有一个项目,我想把数据输入csv 如果数据小于500,我希望数据保存在第一列,如果值大于500,另一个数据可以保存在第二列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
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的值,会发生什么情况?