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)
很高兴这有帮助。请考虑在回答旁边的抽搐接受和/或标记答案。很高兴有帮助。请考虑在回答旁边的抽搐接受和/或标记答案。