謎の文字を解読して検出・削除したいです。
[経緯]
excelマクロを使用してwordの見出し文字をcsvに出力しました。
csv結果を見ると、vscode(UTF-8 with BOM)では何も表示されないのですが、
コンソールの出力では謎の文字(矢印)が出現しています。
これをpythonのreplaceで除去したいです。
[csv]
3,(1)見出し1
3, (2)見出し2
3,(3)見出し3
3,(4)見出し4
3,
3,(5)見出し5
この上矢印を除去したいです。
[解析?結果]
1行目はそのまま、2行目は.encode('UTF-8')、3行目は.encode('unicode-escape')]
3,(1)見出し1
b'3,(1)\xe8\xa6\x8b\xe5\x87\xba\xe3\x81\x97\xef\xbc\x91'
b'3,(1)\u898b\u51fa\u3057\uff11'
3, (2)見出し2
b'3,\x0c (2)\xe8\xa6\x8b\xe5\x87\xba\xe3\x81\x97\xef\xbc\x92'
b'3,\x0c (2)\u898b\u51fa\u3057\uff12'
3,(3)見出し3
b'3,\x0c(3)\xe8\xa6\x8b\xe5\x87\xba\xe3\x81\x97\xef\xbc\x93'
b'3,\x0c(3)\u898b\u51fa\u3057\uff13'
3,(4)見出し4
b'3,(4)\xe8\xa6\x8b\xe5\x87\xba\xe3\x81\x97\xef\xbc\x94'
b'3,(4)\u898b\u51fa\u3057\uff14'
3,
b'3,\x0c'
b'3,\x0c'
3,(5)見出し5
b'3,(5)\xe8\xa6\x8b\xe5\x87\xba\xe3\x81\x97\xef\xbc\x95'
b'3,(5)\u898b\u51fa\u3057\uff15'
・出力側は以下のURLを参考に作成しております。
(出力箇所だけイミディエイトからファイル出力に変更しています。)
https://www.relief.jp/docs/word-vba-heading-style-strings.html
vba
1Sub sample() 2 Dim out As String 3 4 Dim adoSt As Object 5 Set adoSt = CreateObject("ADODB.Stream") 6 7 Const doc_path As String = "C:\xxxxxxxxxx\sample.docx" 8 Const csv_path As String = "C:\xxxxxxxxxx\sample.csv" 9 10 With adoSt 11 .Charset = "UTF-8" 12 .LineSeparator = adLF 13 .Open 14 15 Dim par As Paragraph 16 With Documents.Open(doc_path) 17 ActiveDocument.ActiveWindow.Visible = False 18 For Each par In ActiveDocument.Paragraphs 19 If par.OutlineLevel <> wdOutlineLevelBodyText Then 20 out = par.OutlineLevel & "," & Replace(par.Range.Text, vbCr, "") 21 adoSt.WriteText out, adWriteLine 22 End If 23 Next par 24 End With 25 26 .SaveToFile csv_path, adSaveCreateOverWrite 27 .Close 28 End With 29 30End Sub
回答1件
あなたの回答
tips
プレビュー