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]