csv
다양한 언어로 된 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
Java로 읽기 및 쓰기
아래 예제는 타사 라이브러리없이 csv 파일을 읽고 쓰는 방법을 보여줍니다.
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();
}
}
CSV 읽기
// 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;
}
}
CSV 파일을 구문 분석하는 편리한 방법을 제공하는 미리 컴파일 된 타사 라이브러리도 있습니다. 다음은 이러한 라이브러리의 몇 가지 예입니다.
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에 직접 바인딩 할 수 있습니다. 자세한 내용은 공식 문서를 참조 하십시오 .
다른 잘 알려진 라이브러리로는 SuperCSV 및 CommonsCSV 가 있으며 일부 고급 기능을 제공합니다. 자세한 내용은 공식 문서를 참조하십시오.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow