簡體   English   中英

Python:如何保留一個文件的標頭並將其附加到另一個文件

[英]Python: How to retain headers from one file and append it to another

我有一個CSV文件data.csv並且已通過以下代碼將此文件分為2個文件test.csvtrain.csv

import csv
import random

with open('datafile.csv', 'r') as data:
    with open('test.csv', 'w') as test:
        with open('train.csv', 'w') as train:
            test_writer = csv.writer(test)
            train_writer = csv.writer(train)
            for line in csv.reader(data):
                if random.random() > 0.85:
                     test_writer.writerow(line)
                else:
                    train_writer.writerow(line)

這段代碼雖然工作得很好,但頭存在於test.csv ,但沒有發現頭train.csv任何方式更新代碼,並獲得頭在這兩個文件?

最初的問題實際上是可以解決的,但是在進行編輯后,清楚的是要解決的問題:逐行讀取csv.reader並將其隨機寫入任一csv.writer。

您需要像在1.示例中一樣首先閱讀標題。

import csv
import random

with open('datafile.csv', 'r') as data, \
        open('test.csv', 'w') as test, \
        open('train.csv', 'w') as train:
    test_writer = csv.writer(test)
    train_writer = csv.writer(train)
    reader = csv.reader(data)
    header = next(reader)
    test_writer.writerow(header)
    train_writer.writerow(header)
    for row in reader:
        if random.random() > 0.85:
            test_writer.writerow(row)
        else:
            train_writer.writerow(row)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM