我想在列下获取所有值。以下是我的日志输出示例
姓名,公司,城市,国家
Nik ,Apple, NY ,美国
DAS ,Facebook, DAll ,美国
John ,Twitter,悉尼,AUS
我想打印所有城市名称
城市
NY
DALL
悉尼
名称,公司,城市,国家/地区行是标题。我需要City的输出
答案 0 :(得分:0)
假设每个记录中的值以逗号和空格分隔,您可以使用string
的{{1}}方法拆分该行。只需指定您希望如何拆分字符串,然后即可参加比赛。
split
如果日志文件的格式更复杂,您可以考虑使用一些简单的模式匹配,正则表达式或正确的日志解析库。
如果您需要打印出每个独特的城市名称而不是每个遇到的城市名称,您可以将它们存储在一个集合中:
records = []
with open('log.txt', 'r') as log_file:
for line in log_file:
name, company, city, country = line.split(', ')
print(city)
records.append((name, company, city, country))
答案 1 :(得分:0)
您可以使用cut命令或awk命令
来实现此目的with cut
cat 1.txt | cut -d, -f3
City
NY
DAll
Sydney
其中-d告诉分隔符,-f告诉您要提取哪个字段。
使用awk
cat 1.txt | awk -F, '{print $3}'
City
NY
DAll
Sydney
-F将分隔符指定为逗号。