数据总结大全"/>
python读入数据总结大全
目录
碎碎念
1、使用python内置函数open
1.1 对于txt
1.1.1 按行读入,每行作为列表的一个元素
碎碎念
读入数据,都是最基本的东西了,但是我发现老是不会用,而且都没有对各种数据类型进行一个总结,以至于每次读入数据,都需要再去网上搜集代码,浪费时间。因此作为一个初学python的人,我决定自己给自己总结一篇读入数据的文章。
1、使用python内置函数open
1.1 对于txt
一般来说,txt格式的数据,都会有很多行,每一行存储一个数据。
比如我的这个数据:
人生如逆旅
我亦是行人
人生何处不相逢
何事秋风悲画扇
我经常需要的格式一般都是列表,每行作为列表的一个元素存在。
1.1.1 按行读入,每行作为列表的一个元素
通过f.read().splitness(),首先把数据整体读入,然后再拆分。
通过以下代码可以将数据读入,存到一个列表里,并且每一行作为列表的一个元素。
with open('importdata.txt', 'r', encoding='utf-8')as f:raw_data = f.read().splitlines()
print(raw_data)
结果如下所示:
['人生如逆旅', '我亦是行人', '人生何处不相逢', '何事秋风悲画扇']
通过f.readlines()读入,这种方式的重点在于怎么去除换行符'\n'.
首先如果直接使用.readlines()的方式读入:
with open('importdata.txt', 'r', encoding='utf-8')as f:raw_data_1 = f.readlines()
print(raw_data_1)
结果就是带\n的:
['人生如逆旅\n', '我亦是行人\n', '人生何处不相逢\n', '何事秋风悲画扇']
我们并不需要换行符\n,如何去掉呢?可以通过str.replace()和str.strip()的方式去掉,如以下代码所示:
with open('importdata.txt', 'r', encoding='utf-8')as f:raw_data_1 = [word.strip('\n') for word in f.readlines()]
print(raw_data_1)
with open('importdata.txt', 'r', encoding='utf-8')as f:raw_data_2 = [word.replace('\n', '') for word in f.readlines()]
print(raw_data_2)
这两个方法都可以去除掉'\n'。
还有一个重磅方法,就是先依然用.read()方法全部读入,然后对文本进行整体处理,比如全部小写,去除标点符号等,再使用.split方法用换行符把它们转换为列表。
文本内容:
I like China.
Whatever your past has been, you have a spotless future.
Life is a load of running, it is necessary to constantly in each choose a fork in the road.
Don't fear you forsake, just afraid of losing you.
with open('importdata.txt', 'r', encoding='utf-8')as f:data = f.read().lower()
for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':data = data.replace(ch, " ")
raw_data = data.split('\n')
print(raw_data)
结果就是这样的,也是一个列表,列表里的每个元素就是txt文件里的每行
['i like china ', 'whatever your past has been you have a spotless future ', 'life is a load of running it is necessary to constantly in each choose a fork in the road ', "don't fear you forsake just afraid of losing you "]
那为什么要这么做呢?因为我发现如果我们要对文本进行大小写,以及删除标点符号等处理的话,都要使用字符串的方法。因此如果我们使用readlines()方法直接将文件存储为列表的话,又得通过.join等方式转换为字符串,完了再转换为列表,这岂不是来回折腾嘛。
因此我觉得可以先以字符串的形式完成初步处理,再通过.split()方法切割为列表。
那么.strip()和.replace()具体什么意思呢?明天写......
更多推荐
python读入数据总结大全
发布评论