【问题标题】:How to remove character outside a string from a tab delimited text [duplicate]如何从制表符分隔的文本中删除字符串外的字符[重复]
【发布时间】:2018-05-02 09:52:41
【问题描述】:

我有一个文件,可以说“Mrinq_Parts_Available.txt”,看起来像这样。

Source  Date    Category    SubCategory Present Description Value   Units   Vendor  Part No Package Box Name    Location    Quantity Ordered    Used    MOQ=1   MOQ=100 MOQ=1000    Comments    Link
Digikey 29-May-15   RF Amplifier        No      0.5 W   RFMD    RFPA3807    SOIC8           10  0   3.4         5V  http://www.digikey.com/product-detail/en/RFPA3807TR13/689-1073-1-ND/2567207

我有一个 python 代码可以拆分这些行。

def removeEmptyLines(inputFile):
    with open(inputFile, 'rb') as f:
        d = f.readlines()
        k = []
        for i in d:
            k.append(i.split())
        print (k)
if __name__=="__main__":
    parts_database_file = "Mrinq_Parts_Available.txt"
    removeEmptyLines(parts_database_file)

但输出显示如下:

[b'Source', b'Date', b'Category', b'SubCategory', b'Present', b'Description', b'Value', b'Units', b'Vendor', b'Part', b'No', b'Package', b'Box', b'Name', b'Location', b'Quantity', b'Ordered', b'Used', b'MOQ=1', b'MOQ=100', b'MOQ=1000', b'Comments', b'Link']
[b'Digikey', b'29-May-15', b'RF', b'Amplifier', b'No', b'0.5', b'W', b'RFMD', b'RFPA3807', b'SOIC8', b'10', b'0', b'3.4', b'5V', b'http://www.digikey.com/product-detail/en/RFPA3807TR13/689-1073-1-ND/2567207']

如何删除每个解析数据前面的“b”?

【问题讨论】:

  • 另一个类似的问题:stackoverflow.com/q/6269765/3160529
  • 你在open()函数中使用'b'打开你的二进制文件。只需删除 b: with open(inputFile, 'r') as f: 即可按标准打开文件

标签: python string split


【解决方案1】:

你的文件显然是一个 ASCII 文件,所以你应该以 ASCII 格式打开它:

with open(inputFile, 'r') as f:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 2016-07-13
    相关资源
    最近更新 更多