테이블을 CSV 파일로 저장해야합니다. 테이블의 각 셀은 수와 같은 문자가 포함 된 문자열이 포함되어 있습니다. ", '새로운 라인을
Excel에서 열 수 유효 CSV 필드에 그 문자열을 변환하는 방법 따옴표 또는과문자열을 유효한 CSV 필드로 변환하는 방법은 무엇입니까?
4
A
답변
10
에게 그것을 쉬 이처럼 간단 할 울드 :
csvCell = "\"" + cell.Replace("\"", "\"\"") + "\"";
이는 "따옴표"의 셀 텍스트를 감싸는 두 번 "따옴표"로 세포 내부 "따옴표"이스케이프합니다.
2
랩 각 셀/값을? . 구분 \의 t으로 탭을 사용
을 당신은 세포/값 doube 따옴표를 위해 우리를 볼 필요, 당신은 작은 따옴표 또는 사용 이스케이프 문자로 대체 할 수
Eaxmple을 :.
"Test", "test,123", "test 123", "test
123", "test 345"
"Test", "test,123", "test 123", "test
123", "test 345"
"Test", "test,123", "test 123", "test
123", "test 345"
0
캐리지 리턴을 공백으로 바꾸고 각 텍스트 값을 큰 따옴표로 묶습니다.
필자는 탭으로 구분 된 파일을 사용해 보았지만이를 사용하여 문자로 모호성을 제거 할 수 있습니까?
1
나는 더 많은 지침을 위해서 formal CSV spec을 볼 것이다.
2
내가이 오래 알고 있지만, 여기 객체 클래스의 확장 방법으로 내 솔루션입니다 : 여기
public static class ObjectUtil {
public static string ToCsvString(this object obj) {
string result = obj.ToString();
if (result.Contains("\"")) {
result = result.Replace("\"", "\"\"");
}
if (result.Contains(",")) {
result = string.Format("\"{0}\"", result);
}
if (result.Contains(Environment.NewLine)) {
result = string.Format("\"{0}\"", result);
}
return result;
}
}
+2
contains ","& "\ n"은 "result.Contains (',')와 병합되어야합니다. result.Contains ('\ n') || result.Contains ('\ r')''현재 줄 바꿈과 쉼표가 모두 포함되어 있으면 값을 따옴표로 묶습니다. –
0
하면이 단순히
public static string Escape(this string value)
{
return string.Format("\"{0}\"", (value ?? string.Empty).Replace("\"", "\"\""));
}
관련 문제
- 1. JavaScript에서 XML에 유효한 문자열을 만드는 방법은 무엇입니까?
- 2. 문자열을 배열로 변환하는 방법은 무엇입니까?
- 3. 문자열을 NSDate로 변환하는 방법은 무엇입니까?
- 4. 태그가있는 문자열을 xml로 변환하는 방법은 무엇입니까?
- 5. 문자열을 객체 속성 이름으로 변환하는 방법은 무엇입니까?
- 6. .csv 데이터를 mysql으로 변환하는 방법은 무엇입니까?
- 7. NSMutableArray를 iPhone에서 CSV 파일로 변환하는 방법은 무엇입니까?
- 8. pdf 파일을 CSV 파일로 변환하는 방법은 무엇입니까?
- 9. 문자열을 json 객체로 변환하는 방법은 무엇입니까?
- 10. 문자열을 부분 문자열로 변환하는 방법은 무엇입니까?
- 11. 속도 템플릿에서 문자열을 정수로 변환하는 방법은 무엇입니까?
- 12. JavaScript에서 문자열을 XML 객체로 변환하는 방법은 무엇입니까?
- 13. 문자열을 ActiveSupport :: TimeWithZone으로 변환하는 방법은 무엇입니까?
- 14. iMacros에서 문자열을 정수로 변환하는 방법은 무엇입니까?
- 15. NSDateTimeFormatter를 사용하여이 문자열을 UnixTime으로 변환하는 방법은 무엇입니까?
- 16. 지수가있는 문자열을 float로 변환하는 방법은 무엇입니까?
- 17. 파이썬에서 문자열을 파일로 변환하는 방법은 무엇입니까?
- 18. Teradata에서 문자열을 이진으로 변환하는 방법은 무엇입니까?
- 19. VBScript에서 문자열을 개체로 변환하는 방법은 무엇입니까?
- 20. C++ 문자열을 char *로 변환하는 방법은 무엇입니까?
- 21. XQuery에서 문자열을 노드로 변환하는 방법은 무엇입니까?
- 22. .NET에서 문자열을 바이트 배열로 변환하는 방법은 무엇입니까?
- 23. 바이트 문자열을 숫자로 변환하는 방법은 무엇입니까?
- 24. 람다 문자열을 십진수로 변환하는 방법은 무엇입니까?
- 25. 유니 코드 문자열을 char로 변환하는 방법은 무엇입니까?
- 26. CakePHP 코어 문자열을 추출하고 변환하는 방법은 무엇입니까?
- 27. JSON 문자열을 javascript 객체로 변환하는 방법은 무엇입니까?
- 28. 완벽한 정밀도로 문자열을 실수로 변환하는 방법은 무엇입니까?
- 29. Foreignkey 필드를 Django의 ManyToMany 필드로 변환하는 방법은 무엇입니까?
- 30. T-SQL을 사용하여 문자열을 datetime으로 변환하는 방법은 무엇입니까?
내가 익숙하지 않다 처리 할 수있는 문자열 확장의 'c'와 함께하지만 당신이 틀렸다는 것을 확신합니다. 왜냐하면 큰 따옴표 만 이스케이프하기 때문입니다. csv spec을 사용하면 라인 피드와 캐리지 리턴을 벗어나야합니다. http://www.ietf.org/rfc/rfc4180.txt를 참조하십시오. – degr