如何在Python中忽略foor循环中的非数字?
我有一个名为“如何在Python中忽略foor循环中的非数字?,python,list,csv,for-loop,filter,Python,List,Csv,For Loop,Filter,我有一个名为“new\u to\u csv”的列表,看起来如下所示: [['88', 'BRC', 'LON', '2020-09-07 06:05:07+00:00', '2020-09-07 09:03:00+00:00'], ['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00'],` ['*023', 'BRC', 'LON', '2020-09-07 08:
new\u to\u csv
”的列表,看起来如下所示:
[['88', 'BRC', 'LON', '2020-09-07 06:05:07+00:00', '2020-09-07 09:03:00+00:00'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00'],`
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00'], `
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00'],`
['200', 'BRC', 'LON', '2020-09-07 05:08:32+00:00', '2020-09-07 13:05:00+00:00']]
XXXXXX Version 1.0 BATOS DE ESPANA
11-12-2011 t/m 08-12-2012
RG Mini Maxi Organization ISVL PR BSS Afw Rage TrT Trajecto IBB Ant Dato
*****data*****
R 1 99 BALEARIA BALEARIA Gers INT INT C IB 99
R 100 103 Espanola NIG 4
R 104 105 BALEARIA BALEARIA PC ICE C Asd - Ut - Ah - Espana IB 2
R 106 119 Espanola NIG 14
R 120 129 BALEARIA BALEARIA PC ICE C Asd - Ut - Ah - Barcelona - Almeria IB 10
R 130 139 Espanola NIG 10
R 140 149 BALEARIA BALEARIA PC INT C Shl - Amf - Dv - Hgl - Bh - Algeciras IB 10
R 150 159 BALEARIA BALEARIA SVS ICE PC ICE C Asd - Ut - Vl - Barcelona - Almeria IB 10
R 160 219 BALEARIA BALEARIA Gere INT PC INT C IB 60
R 220 229 BALEARIA BALEARIA PC ICE C Asd - Ut - Ah - Barcelona - Almeria IB 10
我还有一个名为table_x,的文件,看起来像这样:
[['88', 'BRC', 'LON', '2020-09-07 06:05:07+00:00', '2020-09-07 09:03:00+00:00'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00'],`
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00'], `
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00'],`
['200', 'BRC', 'LON', '2020-09-07 05:08:32+00:00', '2020-09-07 13:05:00+00:00']]
XXXXXX Version 1.0 BATOS DE ESPANA
11-12-2011 t/m 08-12-2012
RG Mini Maxi Organization ISVL PR BSS Afw Rage TrT Trajecto IBB Ant Dato
*****data*****
R 1 99 BALEARIA BALEARIA Gers INT INT C IB 99
R 100 103 Espanola NIG 4
R 104 105 BALEARIA BALEARIA PC ICE C Asd - Ut - Ah - Espana IB 2
R 106 119 Espanola NIG 14
R 120 129 BALEARIA BALEARIA PC ICE C Asd - Ut - Ah - Barcelona - Almeria IB 10
R 130 139 Espanola NIG 10
R 140 149 BALEARIA BALEARIA PC INT C Shl - Amf - Dv - Hgl - Bh - Algeciras IB 10
R 150 159 BALEARIA BALEARIA SVS ICE PC ICE C Asd - Ut - Vl - Barcelona - Almeria IB 10
R 160 219 BALEARIA BALEARIA Gere INT PC INT C IB 60
R 220 229 BALEARIA BALEARIA PC ICE C Asd - Ut - Ah - Barcelona - Almeria IB 10
现在,对于new\u to\u csv
中的每个x[0]
,我首先检查它是否是一个数字。如果是数字Iam,则会在mini
和maxi
之间进行检查。我抓取它所在行的列3:8
,并将其粘贴到列表后面。如果x[0]
不是一个数字,我将跳过它并将“unknown”写入输出
这是我的代码:
table_x = r"C:\Users\ELK\Downloads\table_x.txt"
result_list = []
with open(table_x, "r") as outer:
reader = csv.reader(outer, delimiter="\t")
next(reader) #skip the first 4 lines
next(reader)
next(reader)
next(reader)
for row in reader:
mini = row[1]
maxi = row[2]
for x in new_to_csv:
veh_number = x[0]
check_digit = veh_number.isdigit()
if check_digit: #<--- check if its digit
if int(veh_number) > int(mini) and int(veh_number) < int(maxi):
result_list.append(x+ [row[3]]+ [row[4]]+ [row[5]]+ [row[6]]+ [row[7]]+ [row[8]])
if check_digit is False: #if its not digit
result_list.append(x + [row[3]] + [row[4]] + [row[5]] + ["Unkown"])
print(result_list)
[['88', 'BRC', 'LON', '2020-09-07 06:05:07+00:00', '2020-09-07 09:03:00+00:00', 'BALEARIA', 'BALEARIA', '', 'Gers INT', '', 'INT'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00','Unkown', 'Unkown', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'Unkown', 'Unkown', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00','2020-09-07 23:30:01+00:00', 'Unkown', 'Unkown', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'Unkown', 'Unkown', '', 'Unkown'],
['200', 'BRC', 'LON', '2020-09-07 05:08:32+00:00', '2020-09-07 13:05:00+00:00', 'BALEARIA', 'BALEARIA', '', 'Gere INT', 'PC', 'INT']]
[['88', 'BRC', 'LON', '2020-09-07 06:05:07+00:00', '2020-09-07 09:03:00+00:00', 'BALEARIA', 'BALEARIA', '', 'Gers INT', '', 'INT'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00','BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00','2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'Espanola', '', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'Espanola', '', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'Espanola', '', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'Espanola', '', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'Espanola', '', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'Espanola', '', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'Espanola', '', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'Espanola', '', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'Espanola', '', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'Espanola', '', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'Espanola', '', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'Espanola', '', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
[ 'nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA','BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['200', 'BRC', 'LON', '2020-09-07 05:08:32+00:00', '2020-09-07 13:05:00+00:00', 'BALEARIA', 'BALEARIA', '', 'Gere INT', 'PC', 'INT'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown']]
上面是我期望的输出88
是一个数字,介于1
和99
之间,因此我从该行中获取列3:8
<代码>*021不是一个数字,所以我写“未知”
等等
下面你可以看到我收到的输出,它似乎对非数字进行了多次处理。我不明白为什么
这是我收到的输出:
table_x = r"C:\Users\ELK\Downloads\table_x.txt"
result_list = []
with open(table_x, "r") as outer:
reader = csv.reader(outer, delimiter="\t")
next(reader) #skip the first 4 lines
next(reader)
next(reader)
next(reader)
for row in reader:
mini = row[1]
maxi = row[2]
for x in new_to_csv:
veh_number = x[0]
check_digit = veh_number.isdigit()
if check_digit: #<--- check if its digit
if int(veh_number) > int(mini) and int(veh_number) < int(maxi):
result_list.append(x+ [row[3]]+ [row[4]]+ [row[5]]+ [row[6]]+ [row[7]]+ [row[8]])
if check_digit is False: #if its not digit
result_list.append(x + [row[3]] + [row[4]] + [row[5]] + ["Unkown"])
print(result_list)
[['88', 'BRC', 'LON', '2020-09-07 06:05:07+00:00', '2020-09-07 09:03:00+00:00', 'BALEARIA', 'BALEARIA', '', 'Gers INT', '', 'INT'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00','Unkown', 'Unkown', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'Unkown', 'Unkown', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00','2020-09-07 23:30:01+00:00', 'Unkown', 'Unkown', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'Unkown', 'Unkown', '', 'Unkown'],
['200', 'BRC', 'LON', '2020-09-07 05:08:32+00:00', '2020-09-07 13:05:00+00:00', 'BALEARIA', 'BALEARIA', '', 'Gere INT', 'PC', 'INT']]
[['88', 'BRC', 'LON', '2020-09-07 06:05:07+00:00', '2020-09-07 09:03:00+00:00', 'BALEARIA', 'BALEARIA', '', 'Gers INT', '', 'INT'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00','BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00','2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'Espanola', '', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'Espanola', '', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'Espanola', '', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'Espanola', '', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'Espanola', '', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'Espanola', '', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'Espanola', '', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'Espanola', '', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'Espanola', '', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'Espanola', '', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'Espanola', '', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'Espanola', '', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
[ 'nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA','BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['200', 'BRC', 'LON', '2020-09-07 05:08:32+00:00', '2020-09-07 13:05:00+00:00', 'BALEARIA', 'BALEARIA', '', 'Gere INT', 'PC', 'INT'],
['*021', 'BRC', 'LON', '2020-09-07 08:26:07+00:00', '2020-09-07 09:34:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['*023', 'BRC', 'LON', '2020-09-07 08:30:00+00:00', '2020-09-07 13:50:18+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['nodigit', 'BRC', 'LON', '2020-09-07 03:00:03+00:00', '2020-09-07 23:30:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown'],
['++158', 'BRC', 'LON', '2020-09-07 05:42:05+00:00', '2020-09-07 10:02:01+00:00', 'BALEARIA', 'BALEARIA', '', 'Unkown']]
把你的台词换成它
if check_digit is False: #if its not digit
result_list.append(x + ["Unkown"] + ["Unkown"] + [""] + ["Unkown"])
您正在将[row[3]]+[row[4]]+[row[5]]添加到x
*****完整代码*****
table_x = r"table_x.txt"
result_list = []
with open(table_x, "r") as outer:
reader = csv.reader(outer, delimiter="\t")
next(reader) #skip the first 4 lines
next(reader)
next(reader)
next(reader)
for row in reader:
mini = row[1]
maxi = row[2]
for x in new_to_csv:
veh_number = x[0]
check_digit = veh_number.isdigit()
if check_digit: #<--- check if its digit
if int(veh_number) > int(mini) and int(veh_number) < int(maxi):
result_list.append(x+ [row[3]]+ [row[4]]+ [row[5]]+ [row[6]]+ [row[7]]+ [row[8]])
for x in new_to_csv:
veh_number = x[0]
check_digit = veh_number.isdigit()
if check_digit is False: #if its not digit
result_list.append(x + ["Unkown"] + ["Unkown"] + [""] + ["Unkown"])
print(result_list)
table_x=r“table_x.txt”
结果_列表=[]
以开放式(表x,“r”)为外部:
reader=csv.reader(外部,分隔符=“\t”)
下一步(读者)#跳过前4行
下一位(读者)
下一位(读者)
下一位(读者)
对于读取器中的行:
mini=行[1]
maxi=行[2]
对于新的\u到\u csv中的x:
车辆编号=x[0]
检查数字=车辆编号.isdigit()
如果检查数字:#int(mini)和int(veh_number)
为什么预期输出中有'Unknown','Unknown','Unknown','Unknown'
,而没有一个'Unknown',也没有与第3:8列的字段数相同的'Unknown'?@00我真的不知道。。您的意思是什么?您应该分别读取表_x(在循环中),将结果存储在变量中(可能是dict或类似的),然后分别迭代新的_到_csv。现在,您正在迭代表x中的新的到csv。这将不能按原样工作。@00但为什么数字工作正常?这个问题似乎只出现在非数字上。我的意思是,您声明“如果x[0]不是数字,我将跳过它并将“未知”写入输出。”。然而,第一列不是数字的预期输出有3次“未知”加上一个空字符串;根据那句话,没有一个“未知”。这样做了,但我的列表中仍然有很多非数字。你能分享结果列表吗?我不能在这里分享,因为它太大了。问题是你把它附加在两个循环中,一个用于列表,一个用于txt文件。每次在列表循环中,都会追加result_list.append(x++[“未知”]+[“未知”]+[“未知”]+[“未知”])。所以,若你们的txt文件有10行,在你们的列表中有10行,这意味着,你们的最终列表将以10*10行=100行结束。谢谢你们。真的很有帮助。