Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法循环列表中的值_Python_Python 3.x_List_Python Textprocessing - Fatal编程技术网

Python 无法循环列表中的值

Python 无法循环列表中的值,python,python-3.x,list,python-textprocessing,Python,Python 3.x,List,Python Textprocessing,我有一个场景,我想使用python读取文件 就像我们在unixshell中使用while从文件中逐行循环整个过程一样 文件中的数据:ABC.txt "A","B","C" "E","F","A" "S","H","DD","ADF" "G","L","

我有一个场景,我想使用python读取文件

就像我们在
unixshell
中使用while从文件中逐行循环整个过程一样

文件中的数据:ABC.txt

"A","B","C"
"E","F","A"
"S","H","DD","ADF"
"G","L","LI","LO","YAU"
"H","KK","AD"
"J","GH","KL"
"L","OP","AM"
"O","LA","WE"
我的代码:

with open('ABC.txt',"r") as f:
    lines = f.readlines()
       parameter={ "empid":"3","empcd":"56","ide": [ lines ] }
parameter={ "empid":"3","empcd":"56","ide": [ "E","F","A" ]   }
parameter={ "empid":"3","empcd":"56","ide": [ "S","H","DD","ADF" ]   }
while read -r line 
do 
    var=`echo $line` 
    paramter = '{  "empid":"3","empcd":"56","ide": [ $(( var )) ] }'
done < ABC.txt 
我实际上看到的是逐行读取文件 应作为参数传递给
“ide”:[行]

假设它经过第一次迭代,整个字符串
->“A”、“B”、“C”
将被传递到“
ide”:[“A”、“B”、“C”]

第二次迭代:

with open('ABC.txt',"r") as f:
    lines = f.readlines()
       parameter={ "empid":"3","empcd":"56","ide": [ lines ] }
parameter={ "empid":"3","empcd":"56","ide": [ "E","F","A" ]   }
parameter={ "empid":"3","empcd":"56","ide": [ "S","H","DD","ADF" ]   }
while read -r line 
do 
    var=`echo $line` 
    paramter = '{  "empid":"3","empcd":"56","ide": [ $(( var )) ] }'
done < ABC.txt 
第三次迭代:

with open('ABC.txt',"r") as f:
    lines = f.readlines()
       parameter={ "empid":"3","empcd":"56","ide": [ lines ] }
parameter={ "empid":"3","empcd":"56","ide": [ "E","F","A" ]   }
parameter={ "empid":"3","empcd":"56","ide": [ "S","H","DD","ADF" ]   }
while read -r line 
do 
    var=`echo $line` 
    paramter = '{  "empid":"3","empcd":"56","ide": [ $(( var )) ] }'
done < ABC.txt 
循环将继续,直到从文件中读取所有记录

在Unix中,我知道如何读取文件,但对python不太熟悉。如何使用python实现这一点

我的Unix代码:

with open('ABC.txt',"r") as f:
    lines = f.readlines()
       parameter={ "empid":"3","empcd":"56","ide": [ lines ] }
parameter={ "empid":"3","empcd":"56","ide": [ "E","F","A" ]   }
parameter={ "empid":"3","empcd":"56","ide": [ "S","H","DD","ADF" ]   }
while read -r line 
do 
    var=`echo $line` 
    paramter = '{  "empid":"3","empcd":"56","ide": [ $(( var )) ] }'
done < ABC.txt 
读取时-r行
做
var=`echo$line`
参数='{“empid”:“3”,“empcd”:“56”,“ide”:[$((var))]}'
完成
您可以使用将行转换为列表。例如:

从ast导入文字\u评估
打开(“ABC.txt”、“r”)作为f_in:
对于f_in中的行:
印刷品(
{“empid”:“3”,“empcd”:“56”,“ide”:literal_eval(“[”+行+“]))
)
印刷品:

{'empid':'3','empcd':'56','ide':['A','B','C']}
{'empid':'3','empcd':'56','ide':['E','F','A']}
{'empid':'3','empcd':'56','ide':['S','H','DD','ADF']}
{'empid':'3','empcd':'56','ide':['G','L','LI','LO','YAU']}
{'empid':'3','empcd':'56','ide':['H','KK','AD']}
{'empid':'3','empcd':'56','ide':['J','GH','KL']}
{'empid':'3','empcd':'56','ide':['L','OP','AM']}
{'empid':'3','empcd':'56','ide':['O','LA','WE']}
您可以使用将行转换为列表。例如:

从ast导入文字\u评估
打开(“ABC.txt”、“r”)作为f_in:
对于f_in中的行:
印刷品(
{“empid”:“3”,“empcd”:“56”,“ide”:literal_eval(“[”+行+“]))
)
印刷品:

{'empid':'3','empcd':'56','ide':['A','B','C']}
{'empid':'3','empcd':'56','ide':['E','F','A']}
{'empid':'3','empcd':'56','ide':['S','H','DD','ADF']}
{'empid':'3','empcd':'56','ide':['G','L','LI','LO','YAU']}
{'empid':'3','empcd':'56','ide':['H','KK','AD']}
{'empid':'3','empcd':'56','ide':['J','GH','KL']}
{'empid':'3','empcd':'56','ide':['L','OP','AM']}
{'empid':'3','empcd':'56','ide':['O','LA','WE']}

您可以使用json。

import json

for line in open("ABC.txt"):
     parameter = { "empid":"3", "empcd":"56", "ide": json.loads(f"[{line}]") }
     print(parameter)


您可以使用json。:

import json

for line in open("ABC.txt"):
     parameter = { "empid":"3", "empcd":"56", "ide": json.loads(f"[{line}]") }
     print(parameter)


也可以使用lambda函数

fun1 = lambda x:x.strip().replace('"','').split(",")
new_lines = [fun1(i) for i in lines]
print(new_lines)
输出:

[['A', 'B', 'C'], ['E', 'F', 'A'], ['S', 'H', 'DD', 'ADF'], ['G', 'L', 'LI', 'LO', 'YAU']]

也可以使用lambda函数

fun1 = lambda x:x.strip().replace('"','').split(",")
new_lines = [fun1(i) for i in lines]
print(new_lines)
输出:

[['A', 'B', 'C'], ['E', 'F', 'A'], ['S', 'H', 'DD', 'ADF'], ['G', 'L', 'LI', 'LO', 'YAU']]

我不想打印想要进入参数行而不是“ide”:[values]@codeholic24所以我不想打印想要进入参数行而不是“ide”:[values]@codeholic24所以不是
print()。
do
parameter={“empid”:“3”,“empcd”:“56”,“ide”:literal_eval(“[“+line+”)”)}
我不想打印想要进入参数行而不是“ide”:[values]@codeholic24所以不是
print()
do
parameter={“empid”:“3”,“empcd”:“56”,“ide”:literal_eval(“[“+行+”])