Python માં સ્પેસ પછી અલ્પવિરામ સાથે csv વાંચતી વખતે સાવચેત રહો

બિઝનેસ

Python માં, તમે પ્રમાણભૂત 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