పైథాన్‌లో ఖాళీతో పాటు కామాతో 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']

పైన ఉన్న ఒక సాధారణ ఉదాహరణలో, మీరు ఖాళీని తీసివేయడానికి స్ట్రిప్()ని ఉపయోగించవచ్చు. ఈ క్రింది విధంగా డబుల్ కొటేషన్ గుర్తులతో చుట్టుముట్టబడినప్పుడు సమస్య ఏర్పడుతుంది.

"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)

Copied title and URL