物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

pythonでファイルを1行ずつ読み込む+書き出す方法

行頭に # 付きはコメント行、空白行は読み飛ばす

読み込み1

def read_txt(filename):
    lines = []
    for line in open(filename, 'r'):
        if len(line) == 1:
            continue
        if line[0] == "#":
            continue
        lines.append(line)
    return lines

読み込み2

def read_data12(filename):
    items = {}
    for line in open(filename, 'r'):
        if len(line) == 1:
            continue
        if line[0] == "#":
            continue
        item_list = line.split()
        items["data1"] = float(item_list[0])
        items["data2"] = float(item_list[1])
    return items

読み込み3

data1 = []
data2 = []
for line in open(filename, 'r'):
    if len(line) == 1:
        continue
    if line[0] == "#":
        continue
    item_list = line.split()
    data1.append(float(item_list[0]))
    data2.append(float(item_list[1]))

print(data1)
print(data2)

書き出し1

data1 = [1, 2]
data2 = [3, 4]
with open(filename, 'w') as f:
    for d1, d2 in zip(data1, data2):
        f.write(str(d1)+" "+str(d2)+"\n")

出力すると以下のようになる

1 3
2 4