Python 如何从.txt文件中提取数据并将其存储在两个单独的变量中?

Python 如何从.txt文件中提取数据并将其存储在两个单独的变量中?,python,Python,我想从一个.txt()文件中提取数据,然后将两个不同的项目(Woody bow和10)存储在两个单独的变量中。例如: var1 = 'wooden bow' var2 = 10 .txt文件如下所示: wooden bow, 10 我该怎么做呢?打开文件进行读取,然后在行上迭代,用.split()读取变量的值。 以open(“myfile.txt”)作为fh:#fh现在是一个类似文件的对象 对于fh中的行:#文本文件类可逐行编辑! var1,var2=line.split(“,”)#line

我想从一个.txt()文件中提取数据,然后将两个不同的项目(Woody bow和10)存储在两个单独的变量中。例如:

var1 = 'wooden bow'
var2 = 10
.txt文件如下所示:

wooden bow, 10

我该怎么做呢?

打开文件进行读取,然后在行上迭代,用
.split()读取变量的值。

以open(“myfile.txt”)作为fh:#fh现在是一个类似文件的对象 对于fh中的行:#文本文件类可逐行编辑! var1,var2=line.split(“,”)#line是一个字符串 #当您离开作用域时,文件现在已关闭! 这是因为
.split()
返回一个列表,可以直接用于分配(如果您有相同数量的成员!)

>>var1,var2=“木弓,10”劈开(“,”)
>>>var1
“木弓”
>>>var2
' 10'
请注意,您还需要进行一些清理,例如将数字转换为整数或类似的值

>var2=int(var2)
>>>var2
10
如前所述,这可能是CSV(或JSON)结构的好例子


几乎可以肯定的是,您还希望添加一些错误处理,这可能与检查行是否引发异常一样简单,也可能与使用正则表达式(两者或两者之间)验证内容一样复杂

打开该文件进行读取,然后遍历这些行,使用
.split()

以open(“myfile.txt”)作为fh:#fh现在是一个类似文件的对象 对于fh中的行:#文本文件类可逐行编辑! var1,var2=line.split(“,”)#line是一个字符串 #当您离开作用域时,文件现在已关闭! 这是因为
.split()
返回一个列表,可以直接用于分配(如果您有相同数量的成员!)

>>var1,var2=“木弓,10”劈开(“,”)
>>>var1
“木弓”
>>>var2
' 10'
请注意,您还需要进行一些清理,例如将数字转换为整数或类似的值

>var2=int(var2)
>>>var2
10
如前所述,这可能是CSV(或JSON)结构的好例子


几乎可以肯定的是,您还希望添加一些错误处理,这可能与检查行是否引发异常一样简单,也可能与使用正则表达式(两者或两者之间)验证内容一样复杂

逗号分隔的文件,即使是像这样简单的文件,也是一个
csv
文件

import csv

with open('file.txt') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        var1, var2 = map(lambda s: s.strip(), row)

逗号分隔的文件,即使像这样简单的文件,也是
csv
文件

import csv

with open('file.txt') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        var1, var2 = map(lambda s: s.strip(), row)

您可以将此文件作为
csv
文件读入。我该怎么做?我是初学者,您可以将此文件作为
csv
文件读取。我将如何读取?我是一个初学者,很好的解释,但是当我尝试使用它时,我得到了一个属性错误:var1,var2=line.read().split(“,”)AttributeError:'str'对象没有属性'read'@一些用户只需删除
read()
部分。它将是
var1,var2=line.split(“,”)
。当你对fh中的行执行
时,你已经在以文本的形式阅读该行了;行已经是字符串了!更新非常感谢您的回答!解释得很好!您好,很好的解释,但是当我尝试使用它时,我得到了一个属性错误:var1,var2=line.read().split(“,”)AttributeError:'str'对象没有属性'read'@一些用户只需删除
read()
部分。它将是
var1,var2=line.split(“,”)
。当你对fh中的行执行
时,你已经在以文本的形式阅读该行了;行已经是字符串了!更新非常感谢您的回答!解释得很好!虽然这是可行的,但如果能有一个解释(因为我是初学者),那就太好了。不过,谢谢你的帮助!这个选项将在未来的项目中帮助我!虽然这是可行的,但如果能有一个解释(因为我是初学者),那就太好了。不过,谢谢你的帮助!这个选项将在未来的项目中帮助我!