簡體   English   中英

如何刪除 Python 字符串列表的特定列?

[英]How to remove specific column of Python string list?

這些是我的 Python 代碼,用於從字符串列表中提取特定字符串。

def readHdFile(filename):
    with hdfs.open_input_file(filename) as inf:
        read_data = inf.read().decode('utf-8').splitlines()
     
        print("output #1 {}".format(read_data))
        
        return read_data


list_data = readHdFile('test.csv')
for data in list_data:
    print("output #2 {}".format(data))

代碼正常工作,沒有錯誤。

output #1 ['date,values,realtime_start,realtime_end,state,id,title,frequency_short,units_short,seasonal_adjustment_short', '2007-01-01,6.3,2021-02-16,2021-02-16,Alaska,LAUST020000000000003A,Unemployment Rate in Alaska,A,%,NSA', '2008-01-01,6.7,2021-02-16,2021-02-16,Alaska,LAUST020000000000003A,Unemployment Rate in Alaska,A,%,NSA']

output #2 date,values,realtime_start,realtime_end,state,id,title,frequency_short,units_short,seasonal_adjustment_short
output #2 2007-01-01,6.3,2021-02-16,2021-02-16,Alaska,LAUST020000000000003A,Unemployment Rate in Alaska,A,%,NSA
output #2 2008-01-01,6.7,2021-02-16,2021-02-16,Alaska,LAUST020000000000003A,Unemployment Rate in Alaska,A,%,NSA

但是我必須從read_data object 中刪除一些特定的列realtime_startrealtime_end 在 output #1 中, read_data列表字符串用“,”字符分隔。 但我不知道如何刪除特定列的data字符串realtime_startrealtime_end

我不是 100% 確定您使用的數據格式,但您可以在最后兩行代碼中嘗試:

for line in list_data:
    outline = line.split(',')
    new_line = ','.join(outline[:2]) + ',' + ','.join(outline[4:])
    print("output #2 {}".format(new_line))

real_time_start 和 real_time_end 是 csv 的第 3 列和第 4 列,因此您可以在沒有這些字段的情況下打印新行。

當然這是快速而骯臟的解決方案,使用 Pandas 可能對新數據集更干凈,更健壯,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM