파이썬을 사용하여 CSV 파일의 모든 열에서 문자열을 필터링하는 방법

abhishek gaikwad

csv 파일 예제 csv 파일이 있는데 모든 열을 확인해야하나요? csv 파일에서 해당 행을 제거하십시오.

아래는 예입니다

Column1 Column 2 Column 3
1 ? 3
2 ?.. 1
? 2 ?.
? 4 4

나는 아래를 시도했지만 작동하지 않습니다.

data = readData(“text.csv”)
print(data)

def Filter(string, substr):
return [str for str in string if
any(sub not in str for sub in substr)]

string = data
substr = [’?’,’?.’,’? ‘,’? ']
filter_data=Filter(string, substr)

내 코드는 tupple에서 ouptut을 얻는 것입니다.

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

def readData(filename) :
    data = pd.read_csv(filename, skipinitialspace=True)
    return [d for d in data.itertuples(index=False, name=None)]

data = readData("problem2.csv")
print(data)

[('18.0', 8, '307.0 ', '130.0 ', '3504.', '12.0', 70, 1, 'chevrolet chevelle malibu'), ('15.0', 8, '350.0 ', '165.0 ', '3693.', '11.5', 70, 1, 'buick skylark 320'), ('18.0', 8, '318.0 ', '150.0 ', '?.', '11.0', 70, 1, 'plymouth satellite'), ('16.0', 8, '304.0 ', '150.0 ', '3433.', '12.0', 70, 1, 'amc rebel sst'), ('17.0', 8, '302.0 ', '140.0 ', '3449.', '10.5', 70, 1, 'ford torino'), ('15.0', 8, '429.0 ', '198.0 ', '4341.', '10.0', 70, 1, 'ford galaxie 500'), ('14.0', 8, '454.0 ', '220.0 ', '4354.', '9.0', 70, 1, 'chevrolet impala'), ('14.0', 8, '440.0 ', '215.0 ', '4312.', '8.5', 70, 1, 'plymouth fury iii'),

다음으로 '?; 모든 열에서 튜플에서 동일한 출력을 제공합니다.

조 Ferndz

내 입력 파일은 다음과 같습니다.

mpg,cylinder,displace,horsepower,weight,accelerate,year,origin,name
18,8,307,130,3504,12,70,1,chevy malibu
18,8,308,140,?.,14,70,1,plymoth satellite
18,8,309,150,?,15,70,1,ford torino
18,8,310,150,? ,16,70,1,ford galaxy
18,8,310,150, ?,17,70,1,pontiac catalina
18,8,310,150,3505,18,70,1,ford maverick

다음 항목을 대체하는 코드는 다음 ['?','?.',' ?','? ']과 같습니다.

import csv
qs = ['?','?.',' ?','? ']
with open('abc.txt') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    for row in csv_reader:
        row = ['' if r in qs else r for r in row]
        print (row)

이 결과는 다음과 같습니다.

['mpg', 'cylinder', 'displace', 'horsepower', 'weight', 'accelerate', 'year', 'origin', 'name']
['18', '8', '307', '130', '3504', '12', '70', '1', 'chevy malibu']
['18', '8', '308', '140', '', '14', '70', '1', 'plymoth satellite']
['18', '8', '309', '150', '', '15', '70', '1', 'ford torino']
['18', '8', '310', '150', '', '16', '70', '1', 'ford galaxy']
['18', '8', '310', '150', '', '17', '70', '1', 'pontiac catalina']
['18', '8', '310', '150', '3505', '18', '70', '1', 'ford maverick']

보시다시피 행 3에서 6까지의 값은 ''.

하나 이상의 샘플 데이터 세트로 실행했습니다.

mpg,cylinder,displace,horsepower,weight,accelerate,year,origin,name
18,8,307,130,3504,12,70,1,chevy malibu
18,8,308,140,?.,14,70,1,plymoth satellite
18,8,309,?,3506,15,70,1,ford torino
18,8,310,160,? ,16,70,1,ford galaxy
18,8,311,170,3508, ?,70,1,pontiac catalina
18,8,312,180,3509,18,70,1,ford maverick

출력은 다음과 같습니다.

['mpg', 'cylinder', 'displace', 'horsepower', 'weight', 'accelerate', 'year', 'origin', 'name']
['18', '8', '307', '130', '3504', '12', '70', '1', 'chevy malibu']
['18', '8', '308', '140', '', '14', '70', '1', 'plymoth satellite']
['18', '8', '309', '', '3506', '15', '70', '1', 'ford torino']
['18', '8', '310', '160', '', '16', '70', '1', 'ford galaxy']
['18', '8', '311', '170', '3508', '', '70', '1', 'pontiac catalina']
['18', '8', '312', '180', '3509', '18', '70', '1', 'ford maverick']

이 시나리오에서는 ?다양한 열에 있습니다. 여전히 문제를 해결합니다.

한 번에 모든 행을 찾는 경우 모든 행을 하나의 변수로 읽어서 처리 할 수 ​​있습니다.

qs = {'?.':'',' ?':'','? ':'','?':''}
with open('abc.txt') as csv_file:
    lines = csv_file.readlines()
    for i,text in enumerate(lines):
        [text := text.replace(a,b) for a,b in qs.items()]
        lines[i] = text
    print (lines)

출력 데이터는 다음과 같습니다.

['mpg,cylinder,displace,horsepower,weight,accelerate,year,origin,name\n', '18,8,307,130,3504,12,70,1,chevy malibu\n', '18,8,308,140,,14,70,1,plymoth satellite\n', '18,8,309,,3506,15,70,1,ford torino\n', '18,8,310,160,,16,70,1,ford galaxy\n', '18,8,311,170,3508,,70,1,pontiac catalina\n', '18,8,312,180,3509,18,70,1,ford maverick\n']

튜플 출력

출력으로 튜플을 예상하는 것 같습니다.

이를 수행하는 코드는 다음과 같습니다.

import csv
qs = {'?.':'',' ?':'','? ':'','?':''}
final_list = []

with open('abc.txt') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    for row in csv_reader:
        row = ['' if r in qs else r for r in row]
        final_list.append(tuple(row))

print (final_list)

출력은 다음과 같습니다.

[('mpg', 'cylinder', 'displace', 'horsepower', 'weight', 'accelerate', 'year', 'origin', 'name'), ('18', '8', '307', '130', '3504', '12', '70', '1', 'chevy malibu'), ('18', '8', '308', '140', '', '14', '70', '1', 'plymoth satellite'), ('18', '8', '309', '', '3506', '15', '70', '1', 'ford torino'), ('18', '8', '310', '160', '', '16', '70', '1', 'ford galaxy'), ('18', '8', '311', '170', '3508', '', '70', '1', 'pontiac catalina'), ('18', '8', '312', '180', '3509', '18', '70', '1', 'ford maverick')]

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파일에서 특정 문자열 뒤의 모든 줄을 삭제 한 다음 파이썬을 사용하여 더 많은 줄을 추가하는 방법

분류에서Dev

파이썬에서 정규식을 사용하여 모든 문자열 줄을 얻는 방법

분류에서Dev

couchdb에서 모든 문서를 검색하고 파이썬을 사용하여 CSV로 변환하는 방법

분류에서Dev

파이썬을 사용하여 csv 파일의 열에서 문자열 구문의 단어 빈도를 계산하는 방법은 무엇입니까?

분류에서Dev

파이썬을 사용하여 열의 모든 데이터에서 마지막 문자를 제거하는 방법은 무엇입니까?

분류에서Dev

파이썬 파일에서 할당되지 않은 모든 문자열을 출력하는 방법

분류에서Dev

파이썬에서 팬더를 사용하여 csv 파일의 모든 행을 읽는 방법은 무엇입니까?

분류에서Dev

파이썬에서 모든 유형의 파일을 청크하고 해당 파일을 문자열로 변환하는 방법

분류에서Dev

파이썬에서 문자열 벡터 사이의 모든 조합을 찾는 방법

분류에서Dev

파이썬에서 문자열에서 특정 문자까지 모든 것을 삭제하는 방법

분류에서Dev

파이썬을 사용하여 csv 파일의 각 열에 액세스하는 방법

분류에서Dev

Bash를 사용하여 파일의 모든 줄에 문자열을 추가하는 방법

분류에서Dev

모든 csv 파일에서 n 열을 추가하고 다른 csv 파일에 저장하는 방법 (헤더가 열의 출처 인 파일 이름 임)?

분류에서Dev

문자 목록에서 모든 하위 문자열을 얻는 방법 (파이썬)

분류에서Dev

모든 이메일을 필터링하는 더 빠른 방법은 C #을 사용하여 큰 텍스트 파일에 특수 문자로 끝납니다.

분류에서Dev

파이썬의 배열에서 모든 최소값을 삭제하는 방법

분류에서Dev

파이썬에서 데이터 프레임 또는 CSV 파일의 모든 중복을 효율적으로 제거하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 가능한 모든 문자열 하위 집합을 얻는 방법

분류에서Dev

파이썬을 사용하여 xml 파일에서 두 문자열 사이의 모든 행을 제거하십시오.

분류에서Dev

file.csv에서 읽고 배열 C의 문자열에 모든 값을 저장하는 방법

분류에서Dev

파이썬을 사용하여 csv 파일에서 하나의 열을 검색하는 방법은 무엇입니까?

분류에서Dev

폴더의 모든 .csv 파일에서 문자열을 검색하는 배치 파일

분류에서Dev

태그 문자열을 사용하여 CSV 파일에서 행을 검색하는 방법

분류에서Dev

파이썬을 사용하여 문자열을 클러스터링하는 가장 좋은 방법

분류에서Dev

문자열 대체를 사용하여 Linux에서 디렉토리의 모든 파일 이름을 바꾸는 방법은 무엇입니까?

분류에서Dev

csv 파일에서 여러 문자열을 찾는 방법

분류에서Dev

VBA를 사용하여 CSV 파일에서 열의 모든 값 바꾸기

분류에서Dev

PHP를 사용하여 csv 파일에서 문자열을 분리하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 정규식을 사용하여 문자열 사이의 값을 선택하고 데이터 프레임의 열에 배치하는 방법

Related 관련 기사

  1. 1

    파일에서 특정 문자열 뒤의 모든 줄을 삭제 한 다음 파이썬을 사용하여 더 많은 줄을 추가하는 방법

  2. 2

    파이썬에서 정규식을 사용하여 모든 문자열 줄을 얻는 방법

  3. 3

    couchdb에서 모든 문서를 검색하고 파이썬을 사용하여 CSV로 변환하는 방법

  4. 4

    파이썬을 사용하여 csv 파일의 열에서 문자열 구문의 단어 빈도를 계산하는 방법은 무엇입니까?

  5. 5

    파이썬을 사용하여 열의 모든 데이터에서 마지막 문자를 제거하는 방법은 무엇입니까?

  6. 6

    파이썬 파일에서 할당되지 않은 모든 문자열을 출력하는 방법

  7. 7

    파이썬에서 팬더를 사용하여 csv 파일의 모든 행을 읽는 방법은 무엇입니까?

  8. 8

    파이썬에서 모든 유형의 파일을 청크하고 해당 파일을 문자열로 변환하는 방법

  9. 9

    파이썬에서 문자열 벡터 사이의 모든 조합을 찾는 방법

  10. 10

    파이썬에서 문자열에서 특정 문자까지 모든 것을 삭제하는 방법

  11. 11

    파이썬을 사용하여 csv 파일의 각 열에 액세스하는 방법

  12. 12

    Bash를 사용하여 파일의 모든 줄에 문자열을 추가하는 방법

  13. 13

    모든 csv 파일에서 n 열을 추가하고 다른 csv 파일에 저장하는 방법 (헤더가 열의 출처 인 파일 이름 임)?

  14. 14

    문자 목록에서 모든 하위 문자열을 얻는 방법 (파이썬)

  15. 15

    모든 이메일을 필터링하는 더 빠른 방법은 C #을 사용하여 큰 텍스트 파일에 특수 문자로 끝납니다.

  16. 16

    파이썬의 배열에서 모든 최소값을 삭제하는 방법

  17. 17

    파이썬에서 데이터 프레임 또는 CSV 파일의 모든 중복을 효율적으로 제거하는 방법은 무엇입니까?

  18. 18

    파이썬에서 가능한 모든 문자열 하위 집합을 얻는 방법

  19. 19

    파이썬을 사용하여 xml 파일에서 두 문자열 사이의 모든 행을 제거하십시오.

  20. 20

    file.csv에서 읽고 배열 C의 문자열에 모든 값을 저장하는 방법

  21. 21

    파이썬을 사용하여 csv 파일에서 하나의 열을 검색하는 방법은 무엇입니까?

  22. 22

    폴더의 모든 .csv 파일에서 문자열을 검색하는 배치 파일

  23. 23

    태그 문자열을 사용하여 CSV 파일에서 행을 검색하는 방법

  24. 24

    파이썬을 사용하여 문자열을 클러스터링하는 가장 좋은 방법

  25. 25

    문자열 대체를 사용하여 Linux에서 디렉토리의 모든 파일 이름을 바꾸는 방법은 무엇입니까?

  26. 26

    csv 파일에서 여러 문자열을 찾는 방법

  27. 27

    VBA를 사용하여 CSV 파일에서 열의 모든 값 바꾸기

  28. 28

    PHP를 사용하여 csv 파일에서 문자열을 분리하는 방법은 무엇입니까?

  29. 29

    파이썬에서 정규식을 사용하여 문자열 사이의 값을 선택하고 데이터 프레임의 열에 배치하는 방법

뜨겁다태그

보관