【问题标题】:python read file iand create a dictionary with real, integer and stringpython读取文件并创建一个包含实数、整数和字符串的字典
【发布时间】:2022-01-14 17:49:48
【问题描述】:

我想读取具有不同特征的文件并将我读取的内容传输到字典中。问题是,据我所知,所有数据都被读取为字符串。这对我来说是个问题。我的文件中确实有一个数组。 为了让自己清楚,我设置了以下示例:

test_dic= {}

with open('test.txt') as f:
     for line in f:
         c_line = line.split()
         print(c_line)
         
         if c_line[0] == 'aa':
             test_dic['aa']=c_line[1]
             
         if c_line[0] == 'bb':
             test_dic['bb']=c_line[1]

文件如下所示:

aa    1
bb    1.5,13,1.4

我希望 test_dic['bb'] 因为它是一个数组而不是一个字符串。

感谢您的帮助

【问题讨论】:

  • 模式是什么? aa 只会是int 吗? bb 是否只是 floats 的列表?或者任何行是否可以包含ints、floats 或其列表的任意组合?
  • 这个答案可能会有所帮助Python- converting to float using map()

标签: python arrays dictionary readfile


【解决方案1】:

你可以这样做:

with open('text.txt') as f:
     for line in f:
         c_line = line.split(",") if ',' in line else line.split()
         print(c_line)
         
         if c_line[0] == 'aa':
             test_dic['aa']=''.join(line.split(" ")[1:]).split(",")
             
         if c_line[0] == 'bb':
             test_dic['bb']=''.join(line.split(" ")[1:]).split(",")
print(test_dic)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    • 1970-01-01
    • 2017-04-11
    • 2018-01-30
    相关资源
    最近更新 更多