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文件,但这很容易