![](/img/trans.png)
[英]In Python, how to remove items in a list based on the specific string format?
[英]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_start
和realtime_end
。 在 output #1 中, read_data
列表字符串用“,”字符分隔。 但我不知道如何刪除特定列的data
字符串realtime_start
和realtime_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.