我的python程序 extract.py 正在尝试从文本文件中提取“列”数据(使用命令行参数指示从哪个列中提取数据)。
例如; animals.txt 包含...
鸟狗猫鸽 老虎狮子昆虫青蛙 豹猫大猩猩猿在命令行中......
python extract.py 1 animals.txt
旨在提取鸟,虎,豹(第一列数据)。
python extract.py 3 animals.txt
旨在提取鸽子,青蛙,猿(第三列数据)。
我的extract.py目前包含
import sys
file_name = sys.argv[2] # Text file input is stored in file_name
with open(file_name, "r") as my_file:
contents = my_file.readlines()
print(contents)
具体来说,我正在努力提取列数据(第一列,第二列,第三列)分别基于参数 1,2,3。
知道一行中的每个单词只能在文本文件中用一个空格分隔。
欢呼寻求帮助。
答案 0 :(得分:0)
import sys
file_name = sys.argv[2] # Text file input is stored in file_name
col_numbr = int( sys.argv[1] ) # column number
with open(file_name, "r") as my_file:
for each_line in my_file: # taking line by line
line_list = each_line.split(' ') # each line is splited at space
# and made into a list
print ( line_list[col_numbr-1] ) # -1 is added to start indexing from 1
试试这段代码。
文本文件中的每个字符都很重要,因此不应该有任何胭脂空格或换行符。