【问题标题】:How to convert a .txt file into .pkl file in python? [closed]如何在 python 中将 .txt 文件转换为 .pkl 文件? [关闭]
【发布时间】:2023-03-10 10:57:01
【问题描述】:

我有一个 c.txt 文件,我想把它转换成 c.pkl 文件,这样我就可以在 jupyter notebook 上阅读了。

c.txt_file = [("Test1" , {"Details" : ["English" , "Maths"]}) , ("Test2" , {"Details" : 
["Science" , "EVS"]}) ]

上面显示了我的 c.txt 文件,我想在 jupyter notebook 中读取它,那么如何将它转换为 c.pkl 文件,以便在加载 c.pkl 文件后,我在 jupyter notebook 中得到相同的结构化输出.否则,有没有其他方法可以读取这个 c.txt 文件而不将其转换为 .pkl 文件。

Input :
data = pickle.load(open('c.pkl', 'rb'))
data

Output :
[("Test1" , {"Details" : ["English" , "Maths"]}) , ("Test2" , {"Details" : 
["Science" , "EVS"]}) ]

【问题讨论】:

  • Jupyter 完全能够读取文本文件。如果您的意思是要读取 JSON,请使用 json.load()
  • 是的,可以通过 jupyter 中的 pandas 读取 .txt 文件,但随后会以数据帧格式提供输出。但是我在阅读后想要在 jupyter 中使用相同格式的 .txt 文件,因为这会给我一个列表。那么在这种情况下如何读取.txt文件呢。
  • 什么?什么是“上面显示了我的 c.txt 文件”,你显示 c.txt_file = ... 你*在处理文本文件吗?
  • 是的,这就是 c.txt 文件所包含的内容。
  • 是的,.txt 文件可以通过 jupyter 中的 pandas 读取,但是它以数据框格式给出输出。 这里有一个误解。 Jupyter 中的 Python 可以做任何其他 Python 解释器可以做的所有事情,包括读取文本文件。

标签: python jupyter-notebook pickle


【解决方案1】:

您可以通过使用以下 sn-p 来解决您的问题,而无需使用 pickle 文件。

import ast
with open('c.txt', 'r') as fp:
    data = ast.literal_eval(fp.read())

【讨论】:

  • 它给出了一个错误——charmap'编解码器无法解码位置 4800 的字节 0x9d:字符映射到
  • 您显示的数据不是实际文本文件外观的有效明确表示,并且不包含此字符;问题是不可重现的。可能会编辑您的问题以以明确的格式显示实际的文本文件。或许也可以看看meta.stackoverflow.com/questions/379403/…
  • @Andrew,您指定的错误是编码错误,取决于系统上的实际文件。您可以在 open 函数中传递 encoding 参数。如果未传递此参数,则使用UTF-8 作为默认编码。
  • @Dinakar 实际上我用编码 utf- 8 形成了一个新的 .txt 文件,并将代码应用到 open('test.txt', 'r' , encoding="utf-8") as fp: dat = ast.literal_eval(fp.read()) ..... 但是在扫描字符串文字时出现 SyntaxError: EOL 错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多