Python将制表符限制文件转换为csv

我基本上想要转换制表符分隔的文本文件http://www.linux-usb.org/usb.ids到一个CSV文件。

我尝试导入使用Excel,但它不是最佳的,它变成:

8087 Intel Corp. 0020 Integrated Rate Matching Hub 0024 Integrated Rate Matching Hub 

我想如何轻松search是:

 8087 Intel Corp. 0020 Integrated Rate Matching Hub 8087 Intel Corp. 0024 Integrated Rate Matching Hub 

有没有什么办法可以在Python中做到这一点?

你只需要写一个小程序,一次扫描一行数据。 然后它应该检查第一个字符是否是一个标签('\ t')。 如果不是那么那个值应该被存储。 如果它确实从标签开始,那么打印出之前存储的值和当前行。 结果将是您想要的格式的列表。

像这样的东西可以工作:

 import csv lines = [] with open("usb.ids.txt") as f: reader = csv.reader(f, delimiter="\t") device = "" for line in reader: # Ignore empty lines and comments if len(line) == 0 or (len(line[0]) > 0 and line[0][0] == "#"): continue if line[0] != "": device = line[0] elif line[1] != "": lines.append((device, line[1])) print(lines) 

你基本上需要遍历每一行,如果它是一个设备行,请记住以下行。 这将只适用于两列,然后你需要将它们全部写入一个CSV文件,但这很容易