csv
विभिन्न भाषाओं में CSV फाइल प्रोसेसिंग
खोज…
परिचय
छोटी, सरल सीएसवी फाइलें सिर्फ एक टेक्स्ट एडिटर का उपयोग करके बनाई जा सकती हैं। उन्हें पढ़ना और लिखना, या अन्यथा उनकी सामग्री को संसाधित करना किसी की भाषा या पसंद की प्रणालियों के लिए उपलब्ध उत्पादों का उपयोग करके अधिक कुशलता से किया जाता है।
पाइथन में पढ़ना और लिखना
CSV (कोमा सेपरेटेड वैल्यूज़) एक साधारण फ़ाइल स्वरूप है, जिसका उपयोग एक स्प्रेडशीट जैसे सारणीबद्ध डेटा को संग्रहीत करने के लिए किया जाता है। यह पायथन में डेटा लिखने और पढ़ने के तरीके का एक न्यूनतम उदाहरण है।
CSV फ़ाइल में डेटा लिखना:
import csv
data = [["Ravi", "9", "550"], ["Joe", "8", "500"], ["Brian", "9", "520"]]
with open('students.csv', 'wb') as csvfile:
writer = csv.writer(csvfile, delimiter=',')
writer.writerows(data)
CSV फ़ाइल से डेटा पढ़ना:
import csv
with open('students.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',',)
for row in spamreader:
print("Name: {} class: {} Marks: {}".format(row[0], row[1], row[2]))
output:
Name: Ravi class: 9 Marks: 550
Name: Joe class: 8 Marks: 500
Name: Brian class: 9 Marks: 520
जावा में पढ़ना और लिखना
नीचे दिए गए उदाहरण में बिना किसी तीसरे पक्ष के पुस्तकालयों के सीएसवी फ़ाइल को पढ़ने और लिखने के तरीके दिखाए गए हैं।
CSV लिखें
public void writeToCsvFile(List<String[]> thingsToWrite, String separator, String fileName){
try (FileWriter writer = new FileWriter(fileName)){
for (String[] strings : thingsToWrite) {
for (int i = 0; i < strings.length; i++) {
writer.append(strings[i]);
if(i < (strings.length-1))
writer.append(separator);
}
writer.append(System.lineSeparator());
}
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
सीएसवी पढ़ें
// Allows to define custom separator
public List<String[]> readFromCsvFile(String separator, String fileName){
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))){
List<String[]> list = new ArrayList<>();
String line = "";
while((line = reader.readLine()) != null){
String[] array = line.split(separator);
list.add(array);
}
return list;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
कुछ पूर्व-संकलित तीसरे पक्ष के पुस्तकालय भी हैं जो सीएसवी फ़ाइलों को पार्स करने के लिए सुविधाजनक तरीके प्रदान करते हैं। नीचे ऐसे पुस्तकालयों के कुछ उदाहरण दिए गए हैं।
OpenCSV
OpenCSV का उपयोग करने के लिए बहुत सरल माना जाता है और CSV फ़ाइलों को पार्स करते समय लचीली कार्यक्षमता प्रदान करता है
/** Reading CSV **/
// Allows varied parameters through constructors to define quote character, number of lines to skip, etc.
try(CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), separator)){
List<String[]> = reader.readAll();
// Do something with the data
}
/** Writing CSV **/
List<String[]> listToWrite= //fetch the list of string array to write;
try(CSVWriter writer = new CSVWriter(new FileWriter(fileName), separator)){
writer.writeAll(listToWrite);
writer.flush();
}
/** Dumping database records to CSV **/
// Initialize CSVWriter and fetch resultSet from database ...
writer.writeAll(resultSet, includeColumnNames);
OpenCSV भी रिकॉर्ड्स को सीधे JavaBeans को बाइंड करने की अनुमति देता है। अधिक जानकारी के लिए यहां आधिकारिक दस्तावेज देखें।
अन्य ज्ञात पुस्तकालयों में सुपरसीएसवी और कॉमन्ससीएसवी शामिल हैं जो कुछ उन्नत कार्यात्मकताओं को भी प्रदान करते हैं। अधिक जानकारी के लिए आधिकारिक दस्तावेज देखें।