python3 プログラミングエラー [1]: ValueError: 解凍する値が足りない (期待値 2、取得値 1)
2022-02-20 23:31:20
ファイル(record.txt)のデータを分割して指定通りに保存するプログラムを実行すると、エラーが報告されるので、後で確認したり記憶したりするためにここに記録しておきます。
タスクの要件
1. record.txtファイルのデータ内容を読み込む
2. a の会話を一行ずつ "a_*.txt" というファイルに保存します("a:" を除いたものです)。
3. bの台詞を一行ずつ別々に、"b_*.txt"というファイルに保存する("b:"を除く)。
4. つのダイアログがあり、a_1.txt, b_1.txt, a_2.txt, b_2.txt, a_3.txt, b_3.txt, 6ファイル(ファイル内の異なるダイアログは "=======" で分離されている)で保存されています。
ソースコード
f = open('E:\\python\\\fishc-learing\\\record.txt')
a = []
b = []
count = 1
for each_line in f:
if each_line[:3] ! = '====':
# string splitting operation
(role, line_spoken) = each_line.split(':', 1)
if role == 'a':
a.append(line_spoken)
if role == 'b':
b.append(line_spoken)
else:
# Separate save operations for files
file_name_a = 'a_' + str(count) + '.txt'
file_name_b = 'b_' + str(count) + '.txt'
a_file = open(file_name_a, 'w')
b_file = open(file_name_b, 'w')
a_file.writelines(a)
b_file.writelines(b)
a_file.close()
b_file.close()
a = []
b = []
count += 1
# Separate save operations for files
file_name_a = 'a_' + str(count) + '.txt'
file_name_b = 'b_' + str(count) + '.txt'
a_file = open(file_name_a, 'w')
b_file = open(file_name_b, 'w')
a_file.writelines(a)
b_file.writelines(b)
a_file.close()
b_file.close()
f.close()
実行結果
エラー報告の理由と解決策
このプログラムでは、読み込んだ各行を : で区切って2つに分ける必要があり、 : が見つからない場合はエラーが報告されます。エラーの原因は、record.txtファイルの : がチャイニーズコロンと誤記されていることです。record.txt文書だけ、コロンを英語のコロンに修正して、保存してください。
最適化されたコードです。
def save_file(a,b,count):
# separate save operations for files
file_name_a = 'a_' + str(count) + '.txt'
file_name_b = 'b_' + str(count) + '.txt'
a_file = open(file_name_a, 'w')
b_file = open(file_name_b, 'w')
a_file.writelines(a)
b_file.writelines(b)
a_file.close()
b_file.close()
def split_file(file_name):
f = open('E:\\python\\\fishc-learing\\record.txt')
a = []
b = []
count = 1
for each_line in f:
if each_line[:3] ! = '====':
# string splitting operation
(role, line_spoken) = each_line.split(':', 1)
if role == 'a':
a.append(line_spoken)
if role == 'b':
b.append(line_spoken)
else:
save_file(a,b,count)
a = []
b = []
count += 1
save_file(a,b,count)
f.close()
split_file('record.txt')
関連
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】TypeError: 'bool'オブジェクトは呼び出し可能ではありません。
-
[解決済み] pythonでsedのようなテキスト置換を行うには?
-
[解決済み] モジュール Seaborn には '<any graph>' という属性がありません。
-
[解決済み] __init__() に必要な位置の引数が 1 つ不足している
-
[解決済み] pymysql.err.IntegrityError を修正する方法。(1048, "カラム 'ProTitre' cannot be null")" Pythonでエラーを修正するには?
-
[解決済み] USBErrorです。[Errno 13] アクセスが拒否されました(権限が不足しています)。
-
[解決済み] ビューティフルスープ分解()
-
[解決済み] SKlearn のインポート MLPClassifier が失敗する
-
mysql-python のインストールエラー。Cannot open include file: 'config-win.h': そのようなファイルまたはディレクトリがありません
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】syntaxerror: "pythonの行継続文字の後に予期しない文字がある "数式
-
[解決済み] ファイルから圧縮データ(.npz)をnumpy.loadで読み込む。
-
[解決済み] Pandasをインポートするとエラーが発生する AttributeError: モジュール 'pandas' にはiPython Notebookの属性 'core' がない
-
[解決済み] Pandas read_csv low_memory と dtype オプション。
-
[解決済み] 私のコードに「無効なエントリ」と言うことができず、常にintでエラーになります。
-
[解決済み] Python AttributeError: 'module' オブジェクトには 'SSL_ST_INIT' という属性がありません。
-
[解決済み] tensorflow:AttributeError: 'module' オブジェクトに 'mul' 属性がない。
-
[解決済み] Biopython(Python)を使ってFASTAファイルから配列を抽出する。
-
[解決済み] Python Tkinterのルートウィンドウを消すにはどうしたらいいですか?
-
エラーを変更しました。[WinError 10061] ターゲットコンピュータがアクティブに拒否しているため、接続できません。回避策