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

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

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

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

979閲覧

textファイルに空白(半角スペース)を付加してデータベースから書き込みたい

akane_emo

総合スコア30

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2021/08/20 23:10

前提・実現したいこと

Python、Djangoを使用して開発をしています。
データベースはMySQLを使用しています。

データベースで登録している値をテキストファイルに書き込みたいのですが、
テキストファイルはフォーマットが決まっており、例えば以下のようになっています。
text[0:2]・・・項目1(A)
text[3:10]・・・項目2(B)
text[11:20]・・・項目3(C)

項目2の内容が「B」だった場合、テキストフォーマットは決まっているので、
「A , B ,C 」
といった具合に文字数が少ない場合は半角スペースを付加してテキストファイルに書き込みたいのですが、
私の記述だと「A,B,C」となってしまいます。

空白を付加してテキストファイルに書き込むにはどうすればよいでしょうか?
・書き込み位置を指定して書き込む方法(text[0:2]のように)
・データベースに登録する際に予め半角スペースを付加して登録する方法
(Djangoのサイト管理から半角スペースを入力して登録しても登録されないのですが。。)
上記2つの方法があるのかな?と思っているのですが・・良い方法があれば教えて頂けますでしょうか?よろしくお願い致します。

該当のソースコード

python

1models.py(抜粋) 2 3class Delivery(models.Model): 4 5 TagHD = models.CharField( 6 verbose_name='タグ', 7 max_length=2, 8 default='HD', 9 ) 10 MessageID = models.CharField( 11 verbose_name='メッセージID', 12 max_length=6, 13 default='INVOIC' 14 )

python

1views.py 2 3response = HttpResponse(content_type='text/plan') 4response['Content-Disposition'] = 'attachment; filename=somefilename.dat' 5 6data = Delivery.objects.all() 7f = response 8 9for item in data: 10 f.write(item.TagHD) 11 f.write(item.MessageID) 12 f.close()

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

'A,B,C'という文字列から'A ,B ,C 'という文字列を作りたいのであれば以下でできます。

python

1>>> intext = 'A,B,C' 2>>> outtext = '{:<2},{:<7},{:<9}'.format(*intext.split(',')) 3>>> outtext[0:2] 4'A ' 5>>> outtext[3:10] 6'B ' 7>>> outtext[11:20] 8'C '

投稿2021/08/21 04:21

ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akane_emo

2021/08/22 14:10

ppaul様 やりたいことが実現できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問