python - ValueError: int() 以 10 为底的无效文字:''Python 数据库
问题描述
EditCalc = input('What file do you want to modify')
Dept = input('What department?')
EditCalc = int(EditCalc)
month = 'Jan'
if EditCalc % 12 == 0:
month = 'Jan'
if EditCalc % 12 == 1:
month = 'Feb'
if EditCalc % 12 == 2:
month = 'Mar'
if EditCalc % 12 == 3:
month = 'Apr'
if EditCalc % 12 == 4:
month = 'May'
if EditCalc % 12 == 5:
month = 'Jun'
if EditCalc % 12 == 6:
month = 'Jul'
if EditCalc % 12 == 7:
month = 'Aug'
if EditCalc % 12 == 8:
month = 'Sep'
if EditCalc % 12 == 9:
month = 'Oct'
if EditCalc % 12 == 10:
month = 'Nov'
if EditCalc % 12 == 11:
month = 'Dec'
year = EditCalc//12 + 14
editheadercalc= str(month)+'-'+str(year)+'\nQty'
editfile = pd.read_csv(str(EditCalc)+'.csv', encoding='latin-1')
editfilevalues= editfile.loc[editfile['Customer'].str.contains(Dept, na=False), str(editheadercalc)]
editfilevalues = editfilevalues.fillna(int(0))
int_series = editfilevalues.astype(int)
calculated_series = editfilevalues.apply(lambda x: x*1.3)
print(editfilevalues)
所以在这段代码中,我试图操作来自特定文件的数据。用户输入用于查找文件,然后根据我输入的文件查找特定的头文件,因为我需要根据文件编号的头文件。例如文件 53 是 2018 年 6 月的销售预测,所以我需要在 csv 文件中找到具有该标题的标题,并且我想将这些值乘以我想要的任何值(进行调整后的预测)但是我收到以下错误:
return lib.astype_intsafe(arr.ravel(), dtype).reshape(arr.shape)
File "pandas\_libs\lib.pyx", line 456, in pandas._libs.lib.astype_intsafe
File "pandas/_libs/src\util.pxd", line 142, in util.set_value_at_unsafe
ValueError: invalid literal for int() with base 10: ' '
有任何想法吗?我不知道为什么我会收到此错误,并且有关此问题的所有其他关于 stackoverflow 的帖子都没有帮助我。谢谢!
解决方案
当您尝试将某些内容转换为无法转换为整数的整数时会发生此错误,例如空字符串''
。您可以通过运行int('')
或自行重新创建它int('this is not an integer')
。
要解决此问题,您可以在将输入字符串转换为整数时使用 try/except 块。您可以捕获错误并让用户尝试不同的输入,直到他们提交有效的输入。例如:
while True:
x = input('Input a number: ')
try:
x = int(x)
except ValueError:
print('That is not a number')
else:
print('The number you selected is {}'.format(x))
break
推荐阅读
- r - 使用 POSIXct 将日期转换存储为数字列表而不是日期格式
- azure-batch - 自定义共享库中的 VM 映像以批量使用
- javascript - 如何在 iframe pr 的内容上执行 JavaScript 函数
- dart - 从 Javascript 调用 Dart ......这是一个错误吗?
- c++ - C++ OpenGL,为什么顶点数组不绑定顶点缓冲区?
- windows - 在 Windows 服务上通过 WinSCP 下载 SFTP 文件会冻结
- c - 什么时候 fork() == fork()?
- python - 我不想在选择下拉按钮之前查看所有图表(python plotly)
- javascript - 如果添加了配置,则不会加载 Azure DevOps 服务器小部件
- excel - 检测Excel工作表中多个单元格的间接变化