பைத்தானில் CSV கோப்புகளை எவ்வாறு இணைப்பது

Paittanil Csv Koppukalai Evvaru Inaippatu



சில நேரங்களில் கொடுக்கப்பட்ட தரவுத்தொகுப்பு ஒரு CSV கோப்பில் இருக்காது. அவை அனைத்தும் வெவ்வேறு எக்செல் தாள்களில் உள்ளன. பல தரவுத்தொகுப்புகளுக்குப் பதிலாக ஒரே தரவுத்தொகுப்பில் அனைத்து கணக்கீட்டு அல்லது முன்செயலாக்க நடவடிக்கைகளையும் செய்வது விரும்பத்தக்கது என்பதை நீங்கள் ஏற்கனவே அறிவீர்கள். முன்செயலாக்கப் பணிகளில் நாம் செலவிட வேண்டிய நேரத்தை இது குறைக்கிறது அல்லது சேமிக்கிறது. மேலும், ஒரு தரவு ஆய்வாளர் அல்லது தரவு விஞ்ஞானியாக, நீங்கள் அடிக்கடி பல CSV கோப்புகளால் சுமையாக இருப்பதைக் காணலாம், அவை உங்கள் பகுப்பாய்வு அல்லது கிடைக்கக்கூடிய தரவை ஆய்வு செய்யத் தொடங்குவதற்கு முன்பே ஒன்றிணைக்கப்பட வேண்டும். மறுபுறம், எல்லா கோப்புகளும் ஒற்றை அல்லது ஒரே தரவு மூலத்திலிருந்து பெறப்பட்டு ஒரே நெடுவரிசை/மாறிகள் பெயர்கள் மற்றும் தரவு அமைப்பைக் கொண்டிருப்பது எப்போதும் சாத்தியமில்லை. இரண்டு அல்லது அதற்கு மேற்பட்ட CSV கோப்புகளை ஒரே மாதிரியான அல்லது வேறுபட்ட நெடுவரிசை அமைப்புடன் இணைக்க இந்த இடுகை உங்களுக்குக் கற்பிக்கும்.

CSV கோப்புகளை ஏன் இணைக்க வேண்டும்?

தரவுத் தொகுப்பு என்பது ஒரு குறிப்பிட்ட பொருளுடன் தொடர்புடைய மதிப்புகள் அல்லது எண்களின் தொகுப்பு அல்லது குழுவாக இருக்கலாம். உதாரணமாக, ஒரு குறிப்பிட்ட வகுப்பில் ஒவ்வொரு மாணவரின் தேர்வு முடிவுகள் தரவுத்தொகுப்புக்கு ஒரு எடுத்துக்காட்டு. பெரிய தரவுத்தொகுப்புகளின் அளவு காரணமாக, அவை பெரும்பாலும் வெவ்வேறு வகைகளுக்கு தனித்தனி CSV கோப்புகளில் சேமிக்கப்படும். உதாரணமாக, ஒரு குறிப்பிட்ட நோய்க்கான நோயாளியை நாம் பரிசோதிக்க வேண்டியிருந்தால், அவர்களின் பாலினம், மருத்துவப் பதிவு, வயது, நோயின் தீவிரம் போன்ற ஒவ்வொரு கூறுகளையும் நாம் கருத்தில் கொள்ள வேண்டும். இதன் விளைவாக, பல்வேறு முன்கணிப்பு-செல்வாக்குகளை ஆய்வு செய்ய CSV தரவை இணைப்பது அவசியம். அம்சங்கள். மேலும், கணக்கீடு அல்லது முன் செயலாக்க பணிகளைச் செய்யும்போது பல தரவுத்தொகுப்புகளைக் காட்டிலும் ஒரு தரவுத்தொகுப்பைச் செயல்படுத்தி நிர்வகிப்பது நல்லது. இது நினைவகம் மற்றும் பிற கணக்கீட்டு வளங்களை சேமிக்கிறது







பைத்தானில் CSV கோப்புகளை எவ்வாறு இணைப்பது?

பைத்தானில் இரண்டு அல்லது அதற்கு மேற்பட்ட CSV கோப்புகளை இணைக்க பல வழிகள் மற்றும் முறைகள் உள்ளன. கீழே உள்ள பிரிவில், CSV கோப்புகளை பாண்டாஸ் டேட்டாஃப்ரேமில் இணைக்க append(), concat(), and merge() functions போன்றவற்றைப் பயன்படுத்துவோம், பின்னர் டேட்டாஃப்ரேம்கள் ஒரு CSV கோப்பாக மாற்றப்படும். ஒரே மாதிரியான அல்லது மாறி நெடுவரிசை அமைப்புடன் பல CSV கோப்புகளை எவ்வாறு இணைப்பது என்பதை நாங்கள் கற்பிப்போம்.



முறை # 1: CSVகளை ஒத்த கட்டமைப்புகள் அல்லது நெடுவரிசைகளுடன் இணைத்தல்

எங்களின் தற்போதைய வேலை கோப்பகத்தில் “test1” மற்றும் “test2” ஆகிய இரண்டு CSV கோப்புகள் உள்ளன.



எடுத்துக்காட்டு # 1: append() செயல்பாட்டைப் பயன்படுத்துதல்

இரண்டு CSV கோப்புகளும் ஒரே அமைப்பில் உள்ளன. வேலை செய்யும் கோப்பகத்தில் உள்ள CSV கோப்புகளை மட்டும் பட்டியலிட, குளோப்() செயல்பாடு இந்த முறையில் பயன்படுத்தப்படும். அதன் பிறகு நமது CSV கோப்புகளை (பொதுவான அட்டவணை அமைப்புடன்) படிக்க “pandas.DataFrame.append()” ஐப் பயன்படுத்துவோம்.





வெளியீடு:



append செயல்பாட்டைப் பயன்படுத்தி, test1.csv இன் தரவு வரிசைகளின் கீழ் test2.csv இலிருந்து ஒவ்வொரு தரவு வரிசையையும் இணைத்துள்ளோம் அல்லது சேர்த்துள்ளோம், ஏனெனில் கோப்பின் அனைத்து தரவு வரிசைகளும் இணைக்கப்பட்டிருப்பதைக் காணலாம். இந்த டேட்டாஃப்ரேமை CSV ஆக மாற்ற, to_csv() செயல்பாட்டைப் பயன்படுத்தலாம்.

இது, 'test1' மற்றும் 'test2' இன் CSV கோப்புகளின் ஒருங்கிணைந்த CSV கோப்பை, குறிப்பிட்ட பெயருடன், அதாவது, merged.csv உடன் எங்கள் பணிக் கோப்பகத்தில் உருவாக்கும்.

எடுத்துக்காட்டு # 2: concat() செயல்பாட்டைப் பயன்படுத்துதல்

முதலில் பாண்டாஸ் தொகுதியை இறக்குமதி செய்வோம். வரைபட முறையானது pd.read_csv() ஐப் பயன்படுத்தி நாம் கடந்து சென்ற ஒவ்வொரு CSV கோப்பையும் படிக்கும். இந்த மேப் செய்யப்பட்ட கோப்புகள் (CSV கோப்புகள்) பின்னர் pd.concat() செயல்பாட்டைப் பயன்படுத்தி இயல்பாக வரிசையின் அச்சில் இணைக்கப்படும். CSV கோப்புகளை கிடைமட்டமாக இணைக்க விரும்பினால், அச்சு=1ஐ அனுப்பலாம். புறக்கணிப்பு குறியீட்டைக் குறிப்பிடுவது = True ஆனது ஒருங்கிணைந்த டேட்டாஃப்ரேமிற்கான தொடர்ச்சியான குறியீட்டு மதிப்புகளையும் உருவாக்குகிறது.

pd.read_csv() ஆனது concat() செயல்பாட்டிற்குள் அனுப்பப்பட்டு, CSV கோப்புகளை இணைத்த பிறகு பாண்டாஸ் டேட்டாஃப்ரேமில் படிக்கவும்.

வேலை செய்யும் கோப்பகத்தில் உள்ள அனைத்து CSV கோப்புகளின் ஒருங்கிணைந்த தரவுகளுடன் டேட்டாஃப்ரேமைப் பெற்றுள்ளோம். இப்போது, ​​அதை CSV கோப்பாக மாற்றுவோம்.

எங்கள் ஒருங்கிணைந்த CSV தற்போதைய கோப்பகத்தில் உருவாக்கப்பட்டது.

முறை # 2: CSVகளை வெவ்வேறு கட்டமைப்புகள் அல்லது நெடுவரிசைகளுடன் இணைத்தல்

CSV கோப்புகளை ஒரே நெடுவரிசைகள் மற்றும் அமைப்புடன் இணைப்பது பற்றி முதல் முறையில் விவாதித்தோம். இந்த முறையில், CSV கோப்புகளை வெவ்வேறு நெடுவரிசைகள் மற்றும் கட்டமைப்புகளுடன் இணைப்போம்.

எடுத்துக்காட்டு # 1: merge() செயல்பாட்டைப் பயன்படுத்துதல்

pandas தொகுதியில் உள்ள “pandas.merge()” செயல்பாடு இரண்டு CSV கோப்புகளை இணைக்க முடியும். ஒன்றிணைத்தல் என்பது பகிரப்பட்ட நெடுவரிசைகள் அல்லது பண்புக்கூறுகளின் அடிப்படையில் இரண்டு தரவுத்தொகுப்புகளை ஒரே தரவுத்தொகுப்பில் இணைப்பதைக் குறிக்கிறது.

டேட்டாஃப்ரேம்களை நான்கு வெவ்வேறு வழிகளில் இணைக்கலாம்:

  • உள்
  • சரி
  • விட்டு
  • வெளி

இந்த வகையான ஒன்றிணைப்புகளைச் செய்ய, இரண்டு CSV கோப்புகளைப் பயன்படுத்துவோம்.

குறைந்தது ஒரு பண்புக்கூறு அல்லது நெடுவரிசை இரண்டு CSV கோப்புகளாலும் பகிரப்பட வேண்டும் என்பதை நினைவில் கொள்ளவும். கவனித்தபடி, நெடுவரிசை 'பெயர்' மற்றும் அதன் சில பண்புக்கூறுகள் இரண்டு CSV கோப்புகளாலும் பகிரப்படுகின்றன.

Inner Join ஐப் பயன்படுத்தி ஒன்றிணைக்கவும்

merge() செயல்பாட்டில் உள்ள அளவுரு how='inner' என்பதைக் குறிப்பிடுவது, குறிப்பிட்ட நெடுவரிசையின்படி இரண்டு டேட்டாஃப்ரேம்களையும் ஒருங்கிணைத்து, அசல் டேட்டாஃப்ரேம்கள் இரண்டிலும் ஒரே மாதிரியான/ஒரே மதிப்புகளைக் கொண்ட வரிசைகளை மட்டுமே கொண்ட புதிய டேட்டாஃப்ரேமை வழங்கும்.

செயல்பாடு இரண்டு CSV கோப்புகளையும் ஒன்றிணைத்து 'பெயர்' நெடுவரிசையின் பொதுவான பண்புக்கூறுகளின் அடிப்படையில் வரிசைகளை வழங்கியிருப்பதைக் காணலாம்.

வலது புற இணைப்பைப் பயன்படுத்தி ஒன்றிணைக்கவும்

அளவுரு எப்படி='வலது' குறிப்பிடப்பட்டால், 'ஆன்' அளவுருவுக்கு நாம் குறிப்பிட்ட நெடுவரிசையின் அடிப்படையில் இரண்டு டேட்டாஃப்ரேம்களும் இணைக்கப்படும். இடது டேட்டாஃப்ரேமில் மதிப்புகள் இல்லாத வரிசைகள் உட்பட, வலது டேட்டாஃப்ரேமில் உள்ள அனைத்து வரிசைகளையும் கொண்ட ஒரு புதிய டேட்டாஃப்ரேம், இடது டேட்டாஃப்ரேமின் நெடுவரிசை மதிப்பு NAN என அமைக்கப்பட்டு, திருப்பித் தரப்படும்.

இடது புற இணைப்பைப் பயன்படுத்தி ஒன்றிணைக்கவும்

அளவுரு எவ்வாறு 'இடது' எனக் குறிப்பிடப்பட்டால், 'ஆன்' அளவுருவைப் பயன்படுத்தி குறிப்பிட்ட நெடுவரிசையின் அடிப்படையில் இரண்டு டேட்டாஃப்ரேம்களும் இணைக்கப்பட்டு, இடது டேட்டாஃப்ரேமில் உள்ள அனைத்து வரிசைகளும், NAN உள்ள எந்த வரிசைகளும் இருக்கும் புதிய டேட்டாஃப்ரேமை வழங்கும். அல்லது சரியான டேட்டாஃப்ரேமில் பூஜ்ய மதிப்புகள் மற்றும் சரியான டேட்டாஃப்ரேம் நெடுவரிசை மதிப்பை NANக்கு அமைக்கும்.

முழு வெளிப்புற இணைப்பைப் பயன்படுத்தி ஒன்றிணைக்கவும்

எப்படி='வெளிப்புறம்' என்று குறிப்பிடப்பட்டால், 'ஆன்' அளவுருவிற்குக் குறிப்பிடப்பட்ட நெடுவரிசையைப் பொறுத்து இரண்டு டேட்டாஃப்ரேம்களும் இணைக்கப்பட்டு, df1 மற்றும் df2 டேட்டாஃப்ரேம்கள் இரண்டிலிருந்தும் வரிசைகளைக் கொண்ட புதிய டேட்டாஃப்ரேமைத் திருப்பி, எந்த வரிசைகளுக்கும் மதிப்பாக NAN ஐ அமைக்கும். எந்த டேட்டாஃப்ரேம்களில் தரவு இல்லை.

எடுத்துக்காட்டு # 2: வேலை செய்யும் கோப்பகத்தில் உள்ள அனைத்து CSV கோப்புகளையும் ஒருங்கிணைத்தல்

இந்த முறையில், அனைத்து .csv கோப்புகளையும் ஒரு pandas DataFrame ஆக இணைக்க குளோப் மாட்யூலைப் பயன்படுத்துவோம். அனைத்து நூலகங்களும் முதலில் இறக்குமதி செய்யப்பட வேண்டும். அடுத்து, நாம் இணைக்க விரும்பும் ஒவ்வொரு CSV கோப்பிற்கும் ஒரு பாதையை அமைப்போம். கோப்பு பாதை என்பது கீழே உள்ள எடுத்துக்காட்டில் உள்ள os.path.join() செயல்பாட்டிற்கான முதல் வாதமாகும், மேலும் இரண்டாவது வாதமானது இணைக்கப்பட வேண்டிய பாதை கூறுகள் அல்லது .csv கோப்புகள் ஆகும். இங்கே, '*.csv' என்ற வெளிப்பாடு .csv கோப்பு நீட்டிப்புடன் முடிவடையும் செயல்படும் கோப்பகத்தில் உள்ள ஒவ்வொரு கோப்பையும் கண்டறிந்து வழங்கும். glob.glob(கோப்புகள் இணைந்தது) செயல்பாடு, இணைக்கப்பட்ட கோப்புகளின் பெயர்களின் பட்டியலை உள்ளீடாக ஏற்றுக்கொண்டு, ஒன்றிணைக்கப்பட்ட/ஒருங்கிணைக்கப்பட்ட கோப்புகளின் பட்டியலை வெளியிடுகிறது.

இந்த ஸ்கிரிப்ட் எங்கள் வேலை செய்யும் கோப்பகத்தில் உள்ள அனைத்து CSV கோப்புகளின் ஒருங்கிணைந்த தரவுகளுடன் டேட்டாஃப்ரேமை வழங்கும்.

இந்த டேட்டாஃப்ரேம் CSV கோப்பாக மாற்றப்படும், மேலும் இந்த மாற்றத்திற்கு to_csv() செயல்பாடு பயன்படுத்தப்படும். இந்தப் புதிய CSV கோப்பு, தற்போது செயல்படும் கோப்பகத்தில் சேமிக்கப்பட்டுள்ள அனைத்து CSV கோப்புகளிலிருந்தும் உருவாக்கப்பட்ட ஒருங்கிணைந்த CSV கோப்புகளாக இருக்கும்.

முடிவுரை

இந்த இடுகையில், நாம் ஏன் CSV கோப்புகளை இணைக்க வேண்டும் என்று விவாதித்தோம். பைத்தானில் இரண்டு அல்லது அதற்கு மேற்பட்ட CSV கோப்புகளை எவ்வாறு இணைப்பது என்பதை நாங்கள் விவாதித்தோம். இந்த டுடோரியலை இரண்டு பிரிவுகளாகப் பிரித்தோம். முதல் பிரிவில், ஒரே அமைப்பு அல்லது நெடுவரிசைப் பெயர்களின் CSV கோப்புகளை இணைக்க append() மற்றும் concat() செயல்பாடுகளை எவ்வாறு பயன்படுத்துவது என்பதை விளக்கினோம். இரண்டாவது பிரிவில், வெவ்வேறு நெடுவரிசைகள் மற்றும் கட்டமைப்புகளின் CSV கோப்புகளை இணைக்க, merge() முறை, os.path.join(), மற்றும் குளோப் முறை ஆகியவற்றைப் பயன்படுத்தினோம்.