Python 从文本文件创建两个列表

Python 从文本文件创建两个列表,python,list,Python,List,我有一个文本文件,其中包括输入: 1 2 3 4 5 6 7 8 我需要以下形式的结果或输出: array_1 = [1, 3, 5, 7] array_2 = [2, 4, 6, 8] 我尝试了以下代码: arr=[] f = open("file_path","r") #read line into array for line in f.read lines(): array_1 = arr.append(line.split()[0]) array_2 = arr.append(l

我有一个文本文件,其中包括输入:

1 2
3 4
5 6
7 8
我需要以下形式的结果或输出:

array_1 = [1, 3, 5, 7]
array_2 = [2, 4, 6, 8]
我尝试了以下代码:

arr=[]
f = open("file_path","r")
#read line into array

for line in f.read lines():
array_1 = arr.append(line.split()[0])
array_2 = arr.append(line.split()[1])

print(arr)

为什么要追加和分配结果?(即
None
)。因此,所有落在
arr
array_1
array_2
中的数字都是
None

一些修复方法:

  • 直接在两个列表上使用
    append
    ,忘记
    arr
  • 追加时转换为整数
像这样:

array_1 = []
array_2 = []
f = open("file_path.txt","r")
#read line into array

for line in f.readlines():
    array_1.append(int(line.split()[0]))
    array_2.append(int(line.split()[1]))
array_1 = []
array_2 = []
with open("file_path.txt") as f:
    for line in f:
        item1,item2 = map(int,line.split())
        array_1.append(item1)
        array_2.append(item2)
现在更像是蟒蛇:

  • 不要使用
    阅读行
    ,逐行阅读
  • 拆分一次并使用整数转换动态解包
  • 使用
    块打开文件,因此退出块时文件将关闭
像这样:

array_1 = []
array_2 = []
f = open("file_path.txt","r")
#read line into array

for line in f.readlines():
    array_1.append(int(line.split()[0]))
    array_2.append(int(line.split()[1]))
array_1 = []
array_2 = []
with open("file_path.txt") as f:
    for line in f:
        item1,item2 = map(int,line.split())
        array_1.append(item1)
        array_2.append(item2)

为什么要追加和分配结果?(即
None
)。因此,所有落在
arr
array_1
array_2
中的数字都是
None

一些修复方法:

  • 直接在两个列表上使用
    append
    ,忘记
    arr
  • 追加时转换为整数
像这样:

array_1 = []
array_2 = []
f = open("file_path.txt","r")
#read line into array

for line in f.readlines():
    array_1.append(int(line.split()[0]))
    array_2.append(int(line.split()[1]))
array_1 = []
array_2 = []
with open("file_path.txt") as f:
    for line in f:
        item1,item2 = map(int,line.split())
        array_1.append(item1)
        array_2.append(item2)
现在更像是蟒蛇:

  • 不要使用
    阅读行
    ,逐行阅读
  • 拆分一次并使用整数转换动态解包
  • 使用
    块打开文件,因此退出块时文件将关闭
像这样:

array_1 = []
array_2 = []
f = open("file_path.txt","r")
#read line into array

for line in f.readlines():
    array_1.append(int(line.split()[0]))
    array_2.append(int(line.split()[1]))
array_1 = []
array_2 = []
with open("file_path.txt") as f:
    for line in f:
        item1,item2 = map(int,line.split())
        array_1.append(item1)
        array_2.append(item2)
我会用软件包来处理这样的文件

然后,可以通过以下方式从列中获取两个数组:

import pandas as pd
df = pd.read_csv("D:/tmp/file.csv",delimiter=" ", header=None)
array_1 = df[0].values
array_2 = df[1].values
而产出将是:

>>> array_1
array([1, 3, 5, 7], dtype=int64)
>>> array_2
array([2, 4, 6, 8], dtype=int64)
我会用软件包来处理这样的文件

然后,可以通过以下方式从列中获取两个数组:

import pandas as pd
df = pd.read_csv("D:/tmp/file.csv",delimiter=" ", header=None)
array_1 = df[0].values
array_2 = df[1].values
而产出将是:

>>> array_1
array([1, 3, 5, 7], dtype=int64)
>>> array_2
array([2, 4, 6, 8], dtype=int64)

很高兴这有帮助。请考虑在回答旁边的抽搐接受和/或标记答案。很高兴有帮助。请考虑在回答旁边的抽搐接受和/或标记答案。