반응형
탭 구분 파일을 CSV 형식으로 변환하려면 어떻게 해야 합니까?
다음 형식의 텍스트파일이 있습니다.
{
attribute1 attribute2 attribute3.... attributeN
value"A" value"B" value"C".... value"Z"
/* next line of values*/
}
각 단어는 탭으로 구분됩니다.
CSV 형식으로 변환하려면 어떻게 해야 하나요?엑셀을 사용해 봤는데 호환성에 문제가 있어요.
탭을 열 구분 기호로 사용하여 Excel(텍스트 파일에서 데이터 > 로드)을 사용하여 데이터를 Import합니다.그런 다음 파일을 csv로 저장합니다.
호환성 문제가 있을 수 없습니다.기본적인 작업이기 때문에 예전에는 자주 했습니다.
스크립트 언어를 사용할 수 있는 경우 Python에 다음과 같은 시도를 할 수 있습니다.
import csv
# read tab-delimited file
with open('yourfile.tsv','r') as fin:
cr = csv.reader(fin, delimiter='\t')
filecontents = [line for line in cr]
# write comma-delimited file (comma is the default delimiter)
with open('yourfile.csv','w') as fou:
cw = csv.writer(fou, quotechar='', quoting=csv.QUOTE_NONE)
cw.writerows(filecontents)
인터프리터 세션 예시:
>>> import csv
>>> with open('yourfile.tsv','r') as fin:
... cr = csv.reader(fin, delimiter='\t')
... filecontents = [line for line in cr]
...
>>> with open('yourfile.csv','w') as fou:
... cw = csv.writer(fou, quotechar='', quoting=csv.QUOTE_NONE)
... cw.writerows(filecontents)
...
>>> with open('yourfile.csv','r') as see_how_it_turned_out:
... for line in see_how_it_turned_out:
... line
...
'attribute1,attribute2,attribute3,attributeN\r\n'
'value"A",value"B",value"C",value"Z"\r\n'
주의:
대체 줄 바꿈의 예:
with open('yourfile.csv','w') as fou:
cw = csv.writer(fou,quotechar='',quoting=csv.QUOTE_NONE,lineterminator='\n')
...
다음은 이 변환을 수행하는 Excel-VBA 코드입니다.Excel의 Visual Basic Editor에 붙여넣기(Alt-F11
(물론 파일명을 조정한 후)를 실행합니다.
Sub TabToCsv()
Const ForReading = 1, ForWriting = 2
Dim fso, MyTabFile, MyCsvFile, FileName
Dim strFileContent as String
Set fso = CreateObject("Scripting.FileSystemObject")
' Open the file for input.
Set MyTabFile = fso.OpenTextFile("c:\testfile.dat", ForReading)
' Read the entire file and close.
strFileContent = MyTabFile.ReadAll
MyTabFile.Close
' Replace tabs with commas.
strFileContent = Replace(expression:=strFileContent, _
Find:=vbTab, Replace:=",")
' Can use Chr(9) instead of vbTab.
' Open a new file for output, write everything, and close.
Set MyCsvFile = fso.OpenTextFile("c:\testfile.csv", ForWriting, True)
MyCsvFile.Write strFileContent
MyCsvFile.Close
End Sub
- MS Excel 열기
- 데이터 탭을 클릭합니다.
- 텍스트 시작 클릭
- tsv 파일을 선택합니다.
- 구분 기호 선택
- [Next] (다음)
- 체크 온 탭과 콤마를 클릭합니다.
- [완료] 를 누릅니다.
언급URL : https://stackoverflow.com/questions/5590631/how-to-convert-a-tab-separated-file-to-csv-format
반응형
'sourcecode' 카테고리의 다른 글
Excel로 html 테이블을 내보내기 위한 Javascript (0) | 2023.04.13 |
---|---|
Excel 범위에 어레이 쓰기 (0) | 2023.04.13 |
asp.net에서 사이트 전체에 https를 강제 적용하는 최선의 방법? (0) | 2023.04.08 |
'마이크로소프트'ACE.OLEDB.16.0' 공급자가 로컬 컴퓨터에 등록되어 있지 않습니다.(시스템).데이터) (0) | 2023.04.08 |
엔티티 프레임워크에서 단일 레코드를 삭제하시겠습니까? (0) | 2023.04.08 |