python分析文本文件/json
对文本文件进行处理
下面来提取test.txt文件里面的数据,并尝试计算它包含多少个单词。我们使用方法split(),它根据一个字符串创建一个单词表。
>>> information = "I love you!" >>> information.split() ['I', 'love', 'you!']
方法split()以空格为分隔将字符串分拆成多个部分,并将这些部分都存储到一个列表中。结果是一个包含字符串中所有单词的列表,虽然有些单词可能包含标点。
文本处理:
>>> try: ... with open(address,encoding="utf-8") as f: ... contents = f.read() ... except Exception as e: ... print(str(e)) ... else: ... words = contents.split() ... num_words = len(words) ... print(num_words) ... 3
>>> words
['要使用文本文件中的信息,首先需要将信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以以每次一行的方式逐行读取。', '1.读取这个文件', '首先我们创建一个txt文件,里面写上几行数字或者文本信息---test']
>>>
很明显对于中文字也只是检测换行时为一个元素。你可以尝试处理英文单词试试看。
存储数据json
模块json让你能够将简单的Python数据结构转存储到文件中,并在程序再次运行时加载该文件中的数据。json数据格式并非pyhon专用的,这让你能够将以json格式存储的数据与使用其它编程语言的人分享。
1.使用json.dump()和json.load()
提示:JSON格式最初是javaScript开发的,但随后成了一种常见的数据格式,被包括python在内的众多语言采用。
我们来编写一个存储一组数字的简短程序,再编写一个将这些数字读取到内存中的程序。
第一个程序将使用json.dump()来存储这组数字,而第二个程序将使用json.load():
存储数据
函数json.dump()接受两个实参:要存储的数据以及可用于存储数据的文件对象。
>>> filename = r"C:\Users\BBC\Desktop\numbers.json" >>> numbers = [1,2,3,4,5,6] >>> with open(filename,'w') as f: ... json.dump(numbers,f) ... >>>
此时在我电脑桌面上生成了一个numbers.json的文件。
下面再编写一个程序,使用json.load()将这个列表读取到内存中:
>>> import json >>> filename = r"C:\Users\BBC\Desktop\numbers.json" >>> with open(filename) as f: ... numbers = json.load(f) ... >>> print(numbers) [1, 2, 3, 4, 5, 6]