Zijeak 2019-11-18 23:29 采纳率: 33.3%
浏览 259

Tkinter使用filedialog读入JSON文件返回文件流如何处理

Tkinter使用filedialog读入JSON文件返回文件流如何处理

目的:把文件流转换成Python易于处理的List或字典,便于将来遍历,插入MongoDB

代码如下:

def openfile():
   file_in=tkinter.filedialog.askopenfile(title="打开一个Json文件",filetypes=[("JSON",".json")])
   data=[]
   for line in file_in.readLines():
      dic = json.loads(line)
      data.append(dic)
   print(len(data))

目前程序报错:AttributeError: '_io.TextIOWrapper' object has no attribute 'readLines'

我知道是文件流没有这个方法,我想知道如何处理

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 05:01
    关注

    你的代码中 readLines() 是错误的,正确的方法是使用 readlines()

    修改后的代码如下:

    def openfile():
        file_in = tkinter.filedialog.askopenfile(title="打开一个Json文件", filetypes=[("JSON", ".json")])
        data = []
        for line in file_in.readlines():
            dic = json.loads(line)
            data.append(dic)
        print(len(data))
    

    这个函数会打开一个 Tkinter 的文件选择对话框,用户选择一个 JSON 文件后,读取文件内容,将每一行 JSON 转化为 python 的字典并放入一个列表中。最后输出该列表的长度。

    这样处理后, data 就成为了一个易于处理的 python 的 List,里面包含了文件中所有 JSON 的字典数据。您可以修改代码,将其插入到 MongoDB 中,或者对其进行遍历和其他操作。

    评论

报告相同问题?

悬赏问题

  • ¥15 u盘问题:盘符不显示 无媒体
  • ¥50 R语言读取nc按月均值转为tif
  • ¥30 智能车串级pid调参
  • ¥15 visual studio code翻译老是错误
  • ¥20 卫星测高数据的高程转换
  • ¥15 爬取招聘网站数据信息
  • ¥15 安装完tensorflow,import tensorflow as tf后报错,如何解决?
  • ¥15 ultralytics库导出onnx模型,模型失去预测能力
  • ¥15 linux下点对点协议连接2个USB串口的硬件流量控制问题
  • ¥15 SQL数据自动生成问题