将 txt 文件作为数组导入 python 将两位数拆分为单独的值

Posted

技术标签:

【中文标题】将 txt 文件作为数组导入 python 将两位数拆分为单独的值【英文标题】:Importing txt file into python as an array splits double digits as separate values 【发布时间】:2018-02-26 20:34:02 【问题描述】:

当我导入文件并将所有信息转换为数组时,由于某种原因,它会将两位数读取为单独的数字并将它们拆分为:

'add' [2, 0]

我使用的代码如下:

if oper == "or":
    direction = open("directions.txt", "r")
    direct = direction.readlines(1)
    direct = direct[0].replace('[', '').replace(']', '')
    direction.close()
    Or = open(direct+".txt", "r")
    content2 = Or.readlines(1) #Reads the first line in file
    content2 = content2[0].replace('[', '').replace(']', '')
    numbers2 = content2.split(", ")
    numbersAdd = list(map(int, numbers2[1]))
    numbersSub = list(map(int, numbers2[3]))
    numbersDiv = list(map(int, numbers2[5]))
    numbersMult = list(map(int, numbers2[7]))
    print("These are the answers: \noutput/:")
    print(numbers2[0],numbersAdd)
    print(numbers2[2],numbersSub)
    print(numbers2[4],numbersDiv)
    print(numbers2[6],numbersMult)
    print("")

文件中存储的信息如下:

[['add', 20], ['sub', 0], ['div', 0], ['mult', 0]]

任何帮助将不胜感激。

【问题讨论】:

您可以使用ast.literal_eval() 从文件中读取整行作为列表列表。 那么我应该把它放在哪里? ast.literal_eval(content2) 你能回答这个问题吗? 当然,没问题。 【参考方案1】:

您可以使用ast.literal_eval(content2[0]) 将文件中的整行作为列表读取。

【讨论】:

ast.literal_eval(content2) NameError: name 'ast' is not defined Traceback (most recent call last): File "C:\Users\Stefan\Videos\School work\save.py", line 407, in <module> ast.literal_eval(content2) File "C:\Users\Stefan\AppData\Local\Programs\Python\Python36-32\lib\ast.py", line 85, in literal_eval return _convert(node_or_string) File "C:\Users\Stefan\AppData\Local\Programs\Python\Python36-32\lib\ast.py", line 84, in _convert raise ValueError('malformed node or string: ' + repr(node)) ValueError: malformed node or string: ["[['add', 0], ['sub', 0], ['div', 0], ['mult', 0]]"] 我对答案进行了更改。

以上是关于将 txt 文件作为数组导入 python 将两位数拆分为单独的值的主要内容,如果未能解决你的问题,请参考以下文章

如何将不同类型的数据从文件导入 Python Numpy 数组?

以文件名作为列标题将多个 *.txt 文件读入 Pandas Dataframe

如何将数组从.txt文件导入到numpy数组?

python如何将txt文件导入excel

python将txt导入到excel

怎么用python语言将txt文件的内容,导入excel中??