小编Hos*_*ser的帖子

使用python在csv中搜索十六进制数据

我有一个有3列的csv文件.我试图在第二列中搜索特定值(十六进制值)并读取该行中的下一个条目(第3列).格式类似于以下内容:

Text1,  0x04d0a053, value1
Text2,  0x04d01053, value2
Text3,  0x04d03053, value3
Text4,  0x04d05053, value4
Text5,  0x04d00053, value5
Text6,  0x04d02053, value6
Text7,  0x04d04053, value7
Text8,  0x04413053, value8
Run Code Online (Sandbox Code Playgroud)

我没有问题搜索和读取最后一个值(0x04413053)并打印'value8'.但是,当我尝试搜索前7个条目中的任何一个时,不会读回任何内容(输出中的[]).我的代码如下,任何人都知道bug可能是什么?

fileInput = 'mycsv.csv'
column0 = 0
column1 = 1
column2 = 2

#reads correctly
hexvalue = hex(0x04413053)
with open(fileInput, 'r') as file:
  reader = csv.reader(file)
  entry = [line[column2] for line in reader if line[column1] == hexvalue]
  print entry

#does not read correctly
hexvalue = hex(0x04d0a053)
with open(fileInput, 'r') as file:
  reader = csv.reader(file)
  entry …
Run Code Online (Sandbox Code Playgroud)

python csv

4
推荐指数
1
解决办法
1110
查看次数

比较列表中的多个唯一字符串

编辑:我使用的是Python 2.7

我有一个给定的'矩阵',如下所示,其中包含多个字符串列表.我想通过矩阵排序,只打印出只包含一组特定字符串的行.

任何人都可以给我一个如何解决这个问题的提示吗?

到目前为止我尝试了什么:

matrix = [("One", "Two", "Three"),
("Four", "Five", "Six"),
("Seven", "Eight", "One"),
("Four", "Five", "Six"),
("One", "Three", "Six")]

for index, data in enumerate(matrix):
    if "One" and "Three" and "Six" in data:
        print data
Run Code Online (Sandbox Code Playgroud)

期望的输出:

("One", "Three", "Six")
Run Code Online (Sandbox Code Playgroud)

实际产出(截至目前):

('Four', 'Five', 'Six')
('Four', 'Five', 'Six')
('One', 'Three', 'Six')
Run Code Online (Sandbox Code Playgroud)

python list python-2.7

3
推荐指数
1
解决办法
647
查看次数

检查 bash 脚本中的字符串格式

我正在尝试检查 bash 脚本中字符串开头的格式是否正确。

预期的格式如下所示,其中字符串必须始终以“ABCDEFG-”(精确的字母和顺序)开头,数字会有所不同,但至少为 3 位数字。第三位数字之后的所有内容都是无关的。预期的字符串开头:“ABCDEFG-1234”

我正在使用下面的代码片段。

[ $(echo "$str" | grep -E "ABCDEFG-[0-9][0-9][0-9]") ] && echo "yes"
Run Code Online (Sandbox Code Playgroud)

str1 =“ABCDEFG-1234”

str2 =“ABCDEFG-1234 - 更多文本”

当我使用 str1 代替 str 时,一切正常并且打印 yes 。

当我使用 str2 代替 str 时,出现以下错误

[: ABCDEFG-1234: unary operator expected
Run Code Online (Sandbox Code Playgroud)

我对使用 bash 脚本还很陌生,因此我们将不胜感激。

bash grep

1
推荐指数
1
解决办法
5165
查看次数

标签 统计

python ×2

bash ×1

csv ×1

grep ×1

list ×1

python-2.7 ×1