質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

受付中

PDFファイルの変換方法をおしえてください

kou_.2022
kou_.2022

総合スコア0

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

1回答

-2評価

0クリップ

146閲覧

投稿2022/04/28 06:23

当方windows11のVSC2022を使用し拡張機能もインストールしています。
tabula.pyで フォルダ内のPDFをBOM付きCSVに変換する
方法がわかりません下記にコードを記載します。どなたかご教示願います。

import os import os.path import shutil import csv import sys import glob from pathlib import Path import tabulaimport os.path import shutil import csv import sys import glob from pathlib import Path import tabula #以下ユーザー定義関数 https://www.javadrive.jp/python/userfunc/index1.html#section1 def is_empty(dir_path: str) -> bool: return len(os.listdir(dir_path)) == 0 path_p = 'D:\\150_その他\\改\\変換済' path_csvu8 = 'D:\\105_Python\\01_PDFtoCSV\\CSV_file\\01_utf_8_files' path_csvsj = 'D:\\105_Python\\01_PDFtoCSV\\CSV_file\\02_Shift-JIS_files' # 拡張子 e_p = 'pdf' e_c = 'csv' if is_empty(path_csvu8): print('CSV-U8 サブフォルダ無し') os.rmdir(path_csvu8) else: print('CSV-U8 サブフォルダ有り') shutil.rmtree(path_csvu8) os.makedirs(path_csvu8) if is_empty(path_p): print('PDF サブフォルダ無し') else: print('PDF サブフォルダ有り') for fd_path, sb_folder, sb_file in os.walk(path_p): for fol in sb_folder: os.makedirs(path_csvu8 + '\\' + fol) if is_empty(path_csvsj): print('CSV-JIS サブフォルダ無し') shutil.rmtree(path_csvsj) else: print('CSV-JIS サブフォルダ有り') shutil.rmtree(path_csvsj) os.makedirs(path_csvsj) if os.path.isfile(path_p): print('ファイルのみが有る') for fil in glob.glob(path_p + '\\*.pdf'): print(fil) #tabula.convert_into(path_p + '\\' + fil, path_csvu8 + '\\' + fol + '\\' + fil + '.csv', stream=True , output_format='csv', pages='all',java_options="-Dfile.encoding=utf-8") elif os.path.exists(path_p): print('ファイルまたはフォルダが有る') if glob.glob(path_p + '\\*.pdf'): print('ファイルが有る') for dir , subdir , files in os.walk(path_p): for fil in files: fil_names = fil[:-4] file_names = fil file_names_c = path_csvu8 + '\\' + fil_names +'.csv' if os.path.exists(file_names):回避する tabula.convert_into(path_p + '\\' + fil, path_csvu8 + '\\' + fil_names + '.csv', stream=True , output_format='csv', pages='all',java_options="-Dfile.encoding=utf-8") else: for dir , subdir , files in os.walk(path_p): for fol in subdir: fol_name = path_p + '\\' + fol for dir , subdir , files in os.walk(fol_name): for fil in files: fil_names = fil[:-4] file_names = fol_name + '\\' + fil file_names_c = path_csvu8 + '\\' + fol + '\\' + fil_names +'.csv' if os.path.exists(file_names): tabula.convert_into(file_names, file_names_c, stream=True , output_format='csv', pages='all',java_options="-Dfile.encoding=utf-8")

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

y_waiwai

2022/04/28 06:40

で、そのコードを実行させたらどのような結果になるんでしょうか
kou_.2022

2022/04/28 10:56

変換はできますが日本語が文字化けしてしまいます。メモ帳で(UTF-8BOM付き)にると日本語になります
y_waiwai

2022/04/28 11:03

それを質問文に書きましょうよ。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。