Python ਵਿੱਚ ਇੱਕ ਸਪੇਸ ਦੇ ਬਾਅਦ ਇੱਕ ਕਾਮੇ ਨਾਲ ਇੱਕ csv ਨੂੰ ਪੜ੍ਹਦੇ ਸਮੇਂ ਸਾਵਧਾਨ ਰਹੋ

ਕਾਰੋਬਾਰ

ਪਾਈਥਨ ਵਿੱਚ, ਤੁਸੀਂ ਮਿਆਰੀ csv ਮੋਡੀਊਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ csv ਫਾਈਲਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਪੜ੍ਹ ਅਤੇ ਲਿਖ ਸਕਦੇ ਹੋ।

ਉਦਾਹਰਨ ਲਈ, ਮੰਨ ਲਓ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਹੇਠਾਂ ਦਿੱਤੀ csv, sample.csv ਹੈ।

11,12,13,14
21,22,23,24
31,32,33,34

ਇਸ ਨੂੰ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਪੜ੍ਹਿਆ ਜਾ ਸਕਦਾ ਹੈ।

import csv

with open('data/src/sample.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)
# ['11', '12', '13', '14']
# ['21', '22', '23', '24']
# ['31', '32', '33', '34']

ਤੁਹਾਨੂੰ ਇੱਥੇ ਸਾਵਧਾਨ ਰਹਿਣ ਦੀ ਲੋੜ ਹੈ ਜਦੋਂ ਕਾਮੇ ਤੋਂ ਬਾਅਦ ਕੋਈ ਥਾਂ ਹੋਵੇ। ਆਮ ਤੌਰ ‘ਤੇ, ਕਾਮੇ ਤੋਂ ਬਾਅਦ ਕੋਈ ਬੇਲੋੜੀ ਖਾਲੀ ਥਾਂ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ, ਪਰ ਕਈ ਵਾਰ ਮੈਂ ਉਹਨਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂਵਾਂ ਵਾਲੀਆਂ ਫਾਈਲਾਂ ਦੇਖਦਾ ਹਾਂ।

ਅਜਿਹੇ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਮੂਲ ਰੂਪ ਵਿੱਚ, ਵ੍ਹਾਈਟਸਪੇਸ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਫਾਈਲ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ.

11, 12, 13, 14
21, 22, 23, 24
31, 32, 33, 34

ਦੂਜੇ ਸ਼ਬਦਾਂ ਵਿੱਚ, ਜੇਕਰ ਤੁਸੀਂ ਉਪਰੋਕਤ ਫਾਈਲ ਨੂੰ ਕਾਮੇ ਦੇ ਬਾਅਦ ਇੱਕ ਸਪੇਸ ਨਾਲ ਪੜ੍ਹਦੇ ਹੋ, ਤਾਂ ਆਉਟਪੁੱਟ ਹੇਠਾਂ ਦਿੱਤੀ ਜਾਵੇਗੀ

with open('data/src/sample_space.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)
# ['11', ' 12', ' 13', ' 14']
# ['21', ' 22', ' 23', ' 24']
# ['31', ' 32', ' 33', ' 34']

ਜੇਕਰ ਤੁਸੀਂ csv.reader ਵਿੱਚ ਨਿਮਨਲਿਖਤ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹੋ, ਤਾਂ ਕਾਮੇ ਤੋਂ ਬਾਅਦ ਖਾਲੀ ਥਾਂਵਾਂ ਛੱਡ ਦਿੱਤੀਆਂ ਜਾਣਗੀਆਂ।
skipinitialspace=True

with open('data/src/sample_space.csv', 'r') as f:
    reader = csv.reader(f, skipinitialspace=True)
    for row in reader:
        print(row)
# ['11', '12', '13', '14']
# ['21', '22', '23', '24']
# ['31', '32', '33', '34']

ਉੱਪਰ ਦਿੱਤੀ ਇੱਕ ਸਧਾਰਨ ਉਦਾਹਰਨ ਵਿੱਚ, ਤੁਸੀਂ ਵ੍ਹਾਈਟਸਪੇਸ ਨੂੰ ਹਟਾਉਣ ਲਈ strip() ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਸਮੱਸਿਆ ਉਦੋਂ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਇਹ ਹੇਠਾਂ ਦਿੱਤੇ ਦੋਹਰੇ ਹਵਾਲੇ ਦੇ ਚਿੰਨ੍ਹ ਨਾਲ ਘਿਰਿਆ ਹੁੰਦਾ ਹੈ।

"one,one", "two,two", "three,three"

ਡਬਲ ਕੋਟੇਸ਼ਨ ਚਿੰਨ੍ਹਾਂ ਨਾਲ ਘਿਰਿਆ ਹਿੱਸਾ ਇੱਕ ਸਿੰਗਲ ਐਲੀਮੈਂਟ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਪਰ ਜੇਕਰ skipinitialspace=False (ਡਿਫੌਲਟ) ਹੈ, ਤਾਂ ਇਹ ਹੇਠਾਂ ਦਿੱਤੇ ਵਰਗਾ ਦਿਖਾਈ ਦੇਵੇਗਾ।

with open('data/src/sample_double_quotation.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)
# ['one,one', ' "two', 'two"', ' "three', 'three"']

ਇਹ skipinitialspace=True ਸੈੱਟ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

with open('data/src/sample_double_quotation.csv', 'r') as f:
    reader = csv.reader(f, skipinitialspace=True)
    for row in reader:
        print(row)
# ['one,one', 'two,two', 'three,three']

ਪਾਂਡਾ ਵਿੱਚ read_csv() ਨਾਲ ਇੱਕ csv ਫਾਈਲ ਨੂੰ ਪੜ੍ਹਦੇ ਸਮੇਂ ਵੀ ਇਹੀ ਸੱਚ ਹੈ। ਜੇਕਰ csv ਫਾਈਲ ਵਿੱਚ ਕਾਮੇ ਤੋਂ ਬਾਅਦ ਇੱਕ ਸਪੇਸ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਕੰਮ ਕਰ ਸਕਦੇ ਹੋ।
read_csv(skipinitialspace=True)