Python में स्प्रेडशीट को CSV के रूप में कैसे सहेजें

Python में स्प्रेडशीट को CSV के रूप में कैसे सहेजें

समस्या

Aspose.Cells FOSS का उपयोग करके Python में Excel वर्कबुक (.xlsx) को CSV फ़ाइल के रूप में सहेजें। Workbook() के साथ वर्कबुक लोड करें, फिर सक्रिय वर्कशीट को कॉमा‑सेपरेटेड वैल्यूज़ फ़ाइल में लिखने के लिए save_as_csv() को कॉल करें। वैकल्पिक रूप से डिलिमिटर, एन्कोडिंग और कोट व्यवहार को नियंत्रित करने के लिए CSVSaveOptions ऑब्जेक्ट पास करें।

पूर्वापेक्षाएँ

Python में Aspose.Cells FOSS का उपयोग करके स्प्रेडशीट को CSV के रूप में सहेजने के लिए, सुनिश्चित करें कि आपका पर्यावरण निम्नलिखित आवश्यकताओं को पूरा करता है।

  • Python 3.7 या बाद का स्थापित हो
  • pip install aspose-cells-foss>=26.3.1 के माध्यम से Aspose.Cells FOSS स्थापित करें
  • from aspose.cells_foss import Workbook का उपयोग करके लाइब्रेरी आयात करें
  • Python फ़ाइल हैंडलिंग की बुनियादी परिचितता

सेविंग चरण

चरण 1: लाइब्रेरी स्थापित करें

PyPI से Aspose.Cells FOSS स्थापित करें। FOSS उपयोग के लिए कोई लाइसेंस फ़ाइल आवश्यक नहीं है।

pip install aspose-cells-foss

चरण 2: वर्कबुक लोड करें

Workbook को मौजूदा .xlsx फ़ाइल के पथ के साथ इंस्टैंशिएट करें। कंस्ट्रक्टर संरक्षित वर्कबुक्स के लिए वैकल्पिक password पैरामीटर स्वीकार करता है।

from aspose.cells_foss import Workbook

workbook = Workbook("input.xlsx")

एक नई वर्कबुक के साथ काम करने के लिए, फ़ाइल पथ को छोड़ दें:

from aspose.cells_foss import Workbook

workbook = Workbook()
worksheet = workbook.worksheets[0]

# Populate some cells
worksheet.cells["A1"].value = "Product"
worksheet.cells["B1"].value = "Price"
worksheet.cells["A2"].value = "Widget"
worksheet.cells["B2"].value = 9.99
worksheet.cells["A3"].value = "Gadget"
worksheet.cells["B3"].value = 24.95

चरण 3: सक्रिय शीट को CSV के रूप में सहेजें

इच्छित आउटपुट पथ के साथ Workbook.save_as_csv() को कॉल करें। यह विधि डिफ़ॉल्ट रूप से पहली (सक्रिय) वर्कशीट लिखती है।

workbook.save_as_csv("output.csv")

वैकल्पिक रूप से, सामान्य Workbook.save() विधि का उपयोग करें — Aspose.Cells FOSS CSV फ़ॉर्मेट को .csv एक्सटेंशन से अनुमानित करता है:

workbook.save("output.csv")

जब कोई कस्टम विकल्प आवश्यक नहीं होते हैं, तो दोनों कॉल समान आउटपुट उत्पन्न करते हैं।

चरण 4: CSV विकल्पों के साथ सहेजें

Workbook.save_as_csv() एक वैकल्पिक CSVSaveOptions इंस्टेंस को अपने दूसरे तर्क के रूप में स्वीकार करता है। CSVSaveOptions को aspose.cells_foss.csv_handler से इंस्टैंशिएट करें और इसे सीधे पास करें ताकि निर्यात व्यवहार को नियंत्रित किया जा सके, जैसे कि गैर‑डिफ़ॉल्ट डिलिमिटर या एन्कोडिंग चुनना।

from aspose.cells_foss import Workbook
from aspose.cells_foss.csv_handler import CSVSaveOptions

workbook = Workbook("input.xlsx")

# Create options instance — configure attributes per your environment's needs
options = CSVSaveOptions()

workbook.save_as_csv("output_custom.csv", options)

जब कोई CSVSaveOptions पास नहीं किया जाता है, save_as_csv() लाइब्रेरी के निर्मित डिफ़ॉल्ट (कॉमा डिलिमिटर, UTF-8 एन्कोडिंग) का उपयोग करता है। जब आपको प्रोग्रामेटिक रूप से इन डिफ़ॉल्ट को ओवरराइड करने की आवश्यकता हो, तो विकल्प ऑब्जेक्ट पास करें।

चरण 5: एक विशिष्ट कार्यपत्रक निर्यात करें

जब एक वर्कबुक में कई शीट्स होते हैं, तो सक्रिय शीट निर्यात की जाती है। सहेजने से पहले कौन सी शीट निर्यात करनी है, इसे चुनने के लिए Workbook.set_active_worksheet() का उपयोग करें।

from aspose.cells_foss import Workbook

workbook = Workbook("multi_sheet.xlsx")

# Export the second worksheet (index 1)
workbook.set_active_worksheet(1)
workbook.save_as_csv("sheet2_output.csv")

हर शीट को उसकी अपनी CSV फ़ाइल में निर्यात करने के लिए, workbook.worksheets पर इटररेट करें:

from aspose.cells_foss import Workbook

workbook = Workbook("multi_sheet.xlsx")

for index in range(len(workbook.worksheets)):
    ws = workbook.get_worksheet_by_index(index)
    workbook.set_active_worksheet(index)
    workbook.save_as_csv(f"sheet_{ws.name}.csv")

पूर्ण उदाहरण

निम्नलिखित स्व-समाहित उदाहरण एक वर्कबुक बनाता है, उसमें नमूना डेटा भरता है, और इसे मानक CSV तथा सेमीकोलन-डिलिमिटेड CSV दोनों के रूप में सहेजता है।

from aspose.cells_foss import Workbook
from aspose.cells_foss.csv_handler import CSVSaveOptions

# Create workbook and populate data
workbook = Workbook()
worksheet = workbook.worksheets[0]

headers = ["Name", "Department", "Salary"]
rows = [
    ["Alice", "Engineering", 95000],
    ["Bob",   "Marketing",   72000],
    ["Carol", "Finance",     81000],
]

for col, header in enumerate(headers):
    col_letter = chr(ord("A") + col)
    worksheet.cells[f"{col_letter}1"].value = header

for row_idx, row in enumerate(rows, start=2):
    for col_idx, val in enumerate(row):
        col_letter = chr(ord("A") + col_idx)
        worksheet.cells[f"{col_letter}{row_idx}"].value = val

# Save as standard CSV (default options)
workbook.save_as_csv("employees.csv")

# Save with explicit CSVSaveOptions instance
options = CSVSaveOptions()
workbook.save_as_csv("employees_custom.csv", options)

print("CSV files written successfully.")

सामान्य समस्याएँ

खाली आउटपुट फ़ाइल

यदि आउटपुट CSV खाली है या केवल खाली पंक्तियों को शामिल करता है, तो save_as_csv() को कॉल करने से पहले यह सत्यापित करें कि सेल मान असाइन किए गए थे। यह मेथड सक्रिय वर्कशीट को एक्सपोर्ट करता है — workbook.get_active_worksheet() का उपयोग करके पुष्टि करें कि सही शीट सक्रिय है।

एन्कोडिंग समस्याएँ (गड़बड़ अक्षर)

जब आप Excel में CSV खोलते हैं और बिगड़े हुए अक्षर देखते हैं, तो निर्यात के दौरान उपयोग की गई एन्कोडिंग की जाँच करें। Aspose.Cells FOSS डिफ़ॉल्ट रूप से UTF-8 है; Windows पर Excel एन्कोडिंग को सही ढंग से पहचानने के लिए बाइट‑ऑर्डर मार्क (BOM) की अपेक्षा कर सकता है। एन्कोडिंग को CSVSaveOptions के माध्यम से कॉन्फ़िगर करें और इसे save_as_csv() को पास करें।

मल्टी-शीट वर्कबुक्स केवल एक शीट निर्यात करें

CSV एक एकल‑टेबल फ़ॉर्मेट है; प्रति फ़ाइल केवल एक वर्कशीट सहेजी जा सकती है। प्रत्येक शीट को अलग‑अलग निर्यात करें, जैसा कि चरण 5 में दिखाया गया है, set_active_worksheet(index) का उपयोग करके।

डिलिमिटर वाले सेल्स

यदि किसी सेल मान में विभाजक अक्षर शामिल है (उदाहरण के लिए, कॉमा‑डिलिमिटेड आउटपुट में कॉमा), तो Aspose.Cells FOSS निर्यात के दौरान स्वचालित रूप से मान को उद्धरण चिह्नों में रखता है। यदि आवश्यक हो तो उद्धरण व्यवहार को अनुकूलित करने के लिए CSVSaveOptions का उपयोग करें।

अक्सर पूछे जाने वाले प्रश्न

प्रश्न: क्या workbook.save("output.csv") वही परिणाम देता है जैसा save_as_csv()?

हाँ। Workbook.save() फ़ाइल एक्सटेंशन की जाँच करता है और जब एक्सटेंशन .csv हो तो save_as_csv() को सौंपता है। जब आपको बिल्ट‑इन डिफ़ॉल्ट्स से आगे निर्यात को अनुकूलित करने की आवश्यकता हो तो save_as_csv() को सीधे कॉल करें और एक CSVSaveOptions इंस्टेंस पास करें।

प्रश्न: क्या मैं फ़ाइल के बजाय CSV स्ट्रिंग में निर्यात कर सकता हूँ?

हाँ। CSVHandler.save_csv_to_string(workbook, options) को aspose.cells_foss.csv_handler से उपयोग करें। यह CSV सामग्री को एक Python स्ट्रिंग के रूप में लौटाता है, जिसे आप स्ट्रीम में लिख सकते हैं, अपलोड कर सकते हैं, या फ़ाइल सिस्टम को छुए बिना आगे प्रक्रिया कर सकते हैं।

from aspose.cells_foss import Workbook
from aspose.cells_foss.csv_handler import CSVHandler, CSVSaveOptions

workbook = Workbook("input.xlsx")
csv_string = CSVHandler().save_csv_to_string(workbook, CSVSaveOptions())
print(csv_string)

प्र: सहेजने के बाद CSV को वर्कबुक में कैसे लोड करूँ?

एक मौजूदा Workbook इंस्टेंस पर Workbook.load_csv("file.csv") का उपयोग करें, या aspose.cells_foss.csv_handler से सुविधा फ़ंक्शन load_csv_workbook("file.csv") को कॉल करके एक ही चरण में तैयार‑उपयोगी वर्कबुक प्राप्त करें।

Q: Python के कौन से संस्करण समर्थित हैं?

Aspose.Cells FOSS को Python 3.7 या बाद का संस्करण चाहिए। CSV निर्यात के लिए कोई अतिरिक्त नेटिव एक्सटेंशन की आवश्यकता नहीं है; लाइब्रेरी शुद्ध Python है।

प्रश्न: क्या मैं केवल कार्यपत्रक (एक सेल रेंज) को CSV के रूप में सहेज सकता हूँ?

Aspose.Cells FOSS सक्रिय कार्यपत्रक की पूरी उपयोग की गई सीमा को निर्यात करता है। आउटपुट को एक विशिष्ट सीमा तक सीमित करने के लिए, इच्छित कोशिकाओं को एक अस्थायी कार्यपुस्तिका में कॉपी करें और उस कार्यपुस्तिका को निर्यात करें।

संबंधित देखें

 हिन्दी