python - 如何删除 Python 字符串列表的特定列?
问题描述
这些是我从字符串列表中提取特定字符串的 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
但是我必须从对象realtime_start
中删除一些特定的列。在输出 #1 中,列表字符串用“,”字符分隔。但我不知道如何删除字符串的特定列,并且.realtime_end
read_data
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 可能对新数据集更干净、更健壮,
推荐阅读
- css - 调整嵌套 div 中的百分比,使其适合 12 列系统
- android - .setText(" text ") 在 android studio 中无法正常工作
- c - 检查句子是否为 pangram(包含字母表中所有字母 s 的句子)
- angular - 如何以角度处理多个完全动态的路线?
- java - 在数据迁移时,出现错误:运算符不存在:布尔 = 整数提示:没有运算符与给定的名称和参数类型匹配
- html - 使用 jQuery 添加类后 SVG 遮罩消失
- arrays - 如何将此 MATLAB 元胞数组转换为 Numpy 文件/Python 数组?
- javascript - 使用 Mocha 和 Chai GET 进行异步测试不适用于 Node.js Rest API
- c++ - 内存限制超出错误以从图中的每个组件中找到最大值
- python - 过滤具有潜在无限输出的进程输出,检测 X 后的退出代码和超时