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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

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

Q&A

4回答

6539閲覧

Pythonの文字列の1行目を削除

limitman80

総合スコア40

Python 3.x

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

0グッド

0クリップ

投稿2018/03/09 09:17

編集2018/03/09 11:08

ファイルから読み込んだ内容を文字列に格納し、その文字列の1行目を削除したいと思っています。

1:aaaaaaaaaaaaaaa
2:bbbbbbbbbbbbbbb
3:ccccccccccccccc
4:
5:iiiiiiiiiiiiiiii

上記のような文字列が格納されている場合、どのようにすればいいでしょうか?
2:bbbbbbbbbbbbbbb
3:ccccccccccccccc
4:
5:iiiiiiiiiiiiiiii
上記のようになるのが理想です。

宜しくお願い致します。

追記------------------------------------------
いろいろな方法を記述していただき、ありがとうございます。
追加で質問させて下さい。
1行目を削除し、以下の形で文字列に格納してます。
insert into xxx.abctbl (xxxxx) value (xxxx);
insert into xxx.efgtbl (xxxxx) value (xxxx);
insert into xxx.hijtbl (xxxxx) value (xxxx);
を文字列(_strsql)に格納し、実行するとsyntaxエラーになっています。

python

1_sqlRet = cur.execute(_strsql)

上記のコードで問題なくwindowsでは実行できてます。
centos上ではsyntaxエラーになります。

試したのは各SQLを1つにし実行すると問題なく実行されます。
また改行を削除し、長ったらしい文字列にしても同じエラーになります。
エラーの箇所は
「syntax to use near INSERT INTO xxx.efgtbl」
と出ます。
1つ目のinsert文と2つ目のinsert文の間で起こってそうです。
原因わかる方、アドバイスをお願い致します。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/03/09 09:19

読み込んだ後にどんな処理をしたいのか簡単にでも書いてもらえると助かります。
退会済みユーザー

退会済みユーザー

2018/03/09 09:21

一行削除して別のファイルに書き出すのがゴール?
limitman80

2018/03/09 09:33

SQL文が大量にファイルに書かれており、状況によっては1行目のSQL文は実行したくないので削除したいと思っています。文字列のまま保持できているのが理想です。
guest

回答4

0

こんな感じでしょうか。

Python

1lines = [ 2 '1:aaaaaaaaaaaaaaa', 3 '2:bbbbbbbbbbbbbbb', 4 '3:ccccccccccccccc', 5 '4:', 6 '5:iiiiiiiiiiiiiiii', 7] 8 9lines = lines[1:] 10print(*lines, sep='\n') 11"""出力 122:bbbbbbbbbbbbbbb 133:ccccccccccccccc 144: 155:iiiiiiiiiiiiiiii 16"""

ちょっと違うバージョン。 Wandbox

Python

1with open('sample.txt') as f: 2 header, *lines = [ 3 '{0}: {1}'.format(i, line.rstrip()) for i, line 4 in enumerate(f.readlines(), start=1) 5 ] 6 7print(*lines, sep='\n')

投稿2018/03/09 09:21

編集2018/03/09 09:59
LouiS0616

総合スコア35660

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

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

0

メモリに全てリストに蓄える場合は、

Python

1with open("foo.txt", "r") as file: 2 mylist = file.read().splitlines() 3mylist = mylist[1:] 4

一行ずつ読み込んで実行するだけなら、こうかなぁ。

Python

1with open("foo.txt", "r") as file: 2 file.readline() # 一行目を飛ばす 3 for line in file.readlines(): 4 line = line.rstrip() # 改行コードを取り除く 5 print(line)

投稿2018/03/09 09:47

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

python

1import re 2 3f=open("input.txt","r") 4f.readline() 5x=f.readlines() 6 7# 改行を取り除きたい場合 8x=[re.sub("[\n\r]*$","",xx) for xx in x] 9 10print(x)

投稿2018/03/09 09:53

KojiDoi

総合スコア13671

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

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

0

改行で区切りたい、という意味ですかね?

python

1s = '''\ 21:aaaaaaaaaaaaaaa 32:bbbbbbbbbbbbbbb 43:ccccccccccccccc 54: 65:iiiiiiiiiiiiiiii''' 7 8s = '\n'.join(s.splitlines()[1:]) 9print(s)

出力

plain

12:bbbbbbbbbbbbbbb 23:ccccccccccccccc 34: 45:iiiiiiiiiiiiiiii

投稿2018/03/09 09:50

namnium1125

総合スコア2043

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問