3.2GB의 기존 csv 파일에서 구분 기호를 사용하여 새 csv 파일을 생성하려고 합니다 ,
. 그러나 내가 얻는 출력은 0B csv 파일입니다.
조건은 lang = ‘en’
"Corona" 또는 "Covid"라는 단어가 포함되고 20 이상인 verified users = True
모든 트윗을 필터링하는 것입니다.retweet_count
열 이름은 다음과 같습니다.
1 status_id
2 user_id
3 created_at
4 screen_name
5 text
6 source
7 reply_to_status_id
8 reply_to_user_id
9 reply_to_screen_name
10 is_quote
11 is_retweet
12 favourites_count
13 retweet_count
14 country_code
15 place_full_name
16 place_type
17 followers_count
18 friends_count
19 account_lang
20 account_created_at
21 verified
22 lang
다음은 내가 시도한 코드입니다.
grep 'Corona' | 'Covid' > awk -F',' '$22=='en' && $13>=20 && $>21 == True {print,}' > output.csv
어떤 도움이라도 대단히 감사하겠습니다.
답변1
열 5가 트윗 텍스트라고 가정하면 다음 awk
명령이 도움이 될 것입니다.
awk -F',' '$5 ~ /Corona|Covid/ && $22=="en" && $13>=20 && $21=="True"' > output.csv
설명하다:
$5 ~ /Corona|Covid/
Corona
: 5열에 OR이 포함되어 있는지 확인하세요Covid
.$5 ~ /[Cc]orona|[Cc]ovid/
각 단어의 첫 글자의 대소문자를 무시 하는 데 사용됩니다 .- 다른 모든 조건은 이해하기 쉬워야 합니다.
- 결합된 부울 테스트는
0
(=false) 또는1
(=true)로 평가되며 그 밖의 모든 규칙을awk
각각 "이 줄을 인쇄하지 않음" 또는 "이 줄을 인쇄"로 해석합니다.0
1
{ ... }