仕様
コラム名、データとなっている次のようなテキストファイルを csv に変換する方法
入力ファイル
in01.txt
市区町村コード 131016
宛名番号 12345678912
個人履歴番号 1
個人履歴番号_枝番号 1
最新フラグ 1
改製番号 1
世帯番号 234567890123456
出力ファイル
out01.csv
"市区町村コード","宛名番号","個人履歴番号","個人履歴番号_枝番号","最新フラグ","改製番号","世帯番号"
"131016","12345678912","1","1","1","1","234567890123456"
プログラム
vertical_to_csv.py
#! /usr/bin/python
#
# vertical_to_csv.py
#
# Jul/15/2024
#
# --------------------------------------------------------------------
import sys
import csv
import pandas as pd
#
# --------------------------------------------------------------------
sys.stderr.write("*** 開始 ***\n")
file_text = sys.argv[1]
file_csv = sys.argv[2]
#
fp_in = open(file_text,encoding='utf-8')
lines = fp_in.readlines()
fp_in.close()
keys=[]
data=[]
for line in lines:
cols = line[:-1].split()
keys.append(cols[0])
data.append([cols[1]])
# print(cols[0])
# print(cols[1])
#
print(len(keys))
print(len(data))
#
df = pd.DataFrame({keys[i]: data[i] for i in range(len(keys))})
print(df.shape)
df.to_csv(file_csv,index=False,quoting=csv.QUOTE_ALL)
#
sys.stderr.write("*** 終了 ***\n")
# --------------------------------------------------------------------
実行結果
$ ./vertical_to_csv.py in01.txt out01.csv
*** 開始 ***
7
7
(1, 7)
*** 終了 ***