如何从Text文件中读取数字数据并使用python将其保存到变量中

时间:2018-03-15 05:46:22

标签: python text numeric

我正在开发一个从文本文件中获取数据的项目,该值需要存储在变量中。但以下代码无法正常工作。有时它会有效,而有时它会返回

  

ValueError:基数为10的int()的无效文字:''

以下是使用的代码:

def main():
    # Txt read
    global id
    input = open('data.txt', 'r')
    lines = input.readlines()
    i = 0
    for line in lines:
        i += 1
        id = int(line)

main()
print id

数据将在单个int中,后跟文本文件中的新行。

enter image description here

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:1)

在您的代码中,您将只获取文件中的最后一个值,以获取所有值使用列表并将其存储在列表中,如果要计算总数,则不需要ii的增量值使用len(id) 试试下面的代码

def main():
  # Txt read
  global id
  id=[]
  input = open('data.txt', 'r')
  lines = input.readlines()
  for line in lines:
    if line.strip(): #Checking Non-Empty Line
      id.append(int(line.strip()))
main()
print id
print "Total Valuse: "+str(len(id))

答案 1 :(得分:0)

换行符" \ n"是错误的。

def main():
    # Txt read
    global id
    data = open('data.txt', 'r').read()
    data = data+'0'
    data = data.replace('\n','+0+')
    id = eval(data)


main()
print(id)

答案 2 :(得分:0)

很少有事情

不要使用4w : 2d : 14h : 10m : 26s作为变量,因为它是python中的内置函数。这不是一个好习惯。

此外,input也恰好是内置函数,所以也要避免使用

另外,我建议将整个文件作为字符串读取,并根据id进行拆分。这将帮助您在结束时删除额外的换行符(如果您愿意,可以启动)

您可以使用以下内容:

\n