如何使用 python 从文本文件中读取数值数据并将其保存到变量中
How to Read Numeric Data From Text file and save it to a variable using python
我正在从事一个从文本文件中获取数据的项目,该值需要存储在一个变量中。但是下面的代码不能正常工作。有时有效,有时有效 returns
ValueError: invalid literal for int() with base 10: ''
以下是使用的代码:
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 后跟文本文件中的新行。
如有任何帮助,我们将不胜感激。
换行符“\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)
先说几件事
不要将 input
用作变量,因为它是 python 中的 built-in 函数。这不是一个好的做法。
此外,id
也恰好是一个 built-in 函数,所以也要避免
此外,我建议将整个文件读取为字符串,并根据 \n
进行拆分。这将帮助您去除末尾的额外换行符(如果您愿意,也可以开始)
你可以这样使用:
def main():
# Txt read
input1 = open('text.txt', 'r').read().strip()
l = input1.split("\n")
#convert to int
ll = [int(s) for s in l]
print(ll)
main()
在您的代码中,您将仅获得文件中的最后一个值以获取所有值使用列表并将它们存储在列表中,如果要计算则不需要 i
和 i
的增量使用的值总数 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))
我正在从事一个从文本文件中获取数据的项目,该值需要存储在一个变量中。但是下面的代码不能正常工作。有时有效,有时有效 returns
ValueError: invalid literal for int() with base 10: ''
以下是使用的代码:
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 后跟文本文件中的新行。
如有任何帮助,我们将不胜感激。
换行符“\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)
先说几件事
不要将 input
用作变量,因为它是 python 中的 built-in 函数。这不是一个好的做法。
此外,id
也恰好是一个 built-in 函数,所以也要避免
此外,我建议将整个文件读取为字符串,并根据 \n
进行拆分。这将帮助您去除末尾的额外换行符(如果您愿意,也可以开始)
你可以这样使用:
def main():
# Txt read
input1 = open('text.txt', 'r').read().strip()
l = input1.split("\n")
#convert to int
ll = [int(s) for s in l]
print(ll)
main()
在您的代码中,您将仅获得文件中的最后一个值以获取所有值使用列表并将它们存储在列表中,如果要计算则不需要 i
和 i
的增量使用的值总数 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))