python如何将文本文件读入列表,如何将文本文件读入单独的列表python

Say I have a text file formatted like this:

100 20 the birds are flying

and I wanted to read the int(s) into their own lists and the string into its own list...how would I go about this in python. I tried

data.append(map(int, line.split()))

that didn't work...any help?

解决方案

Essentially, I'm reading the file line by line, and splitting them. I first check to see if I can turn them into an integer, and if I fail, treat them as strings.

def separate(filename):

all_integers = []

all_strings = []

with open(filename) as myfile:

for line in myfile:

for item in line.split(' '):

try:

# Try converting the item to an integer

value = int(item, 10)

all_integers.append(value)

except ValueError:

# if it fails, it's a string.

all_strings.append(item)

return all_integers, all_strings

Then, given the file ('mytext.txt')

100 20 the birds are flying

200 3 banana

hello 4

...doing the following on the command line returns...

>>> myints, mystrings = separate(r'myfile.txt')

>>> print myints

[100, 20, 200, 3, 4]

>>> print mystrings

['the', 'birds', 'are', 'flying', 'banana', 'hello']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值