在python中,如何在文件的总头中保存一个文件中一定数量的头?

在python中,如何在文件的总头中保存一个文件中一定数量的头?,python,python-3.x,csv,Python,Python 3.x,Csv,嗨,我有300个标题,但需要在一个文件中保存100-100个标题。你能帮我怎么做吗 例如: headers = 'chai_patient_id,alcoholstatus_current_drinker,alcoholstatus_non_drinker...................condition_abnormal_results_of_liver_function_studies' 我需要在file1.csv中保存1-100个标题,在file2.csv中保存101-200个标题

嗨,我有300个标题,但需要在一个文件中保存100-100个标题。你能帮我怎么做吗

例如:

headers = 'chai_patient_id,alcoholstatus_current_drinker,alcoholstatus_non_drinker...................condition_abnormal_results_of_liver_function_studies'

我需要在file1.csv中保存1-100个标题,在file2.csv中保存101-200个标题,在file3.csv中保存201-300个标题。您可以尝试以下方法:

import csv
data = "read your data hear"
headers = "your,headers,are,hear,.......,"
headers = headers.split(",")

with open("somefile.csv",'w') as fp:
    some_headers = headers[:100]
    writer = csv.DictWriter(fp,fieldnames=some_headers)
    d = {"header1":"valueone"} # prepare your data
    writer.writeheader()
    writer.writerow(d)
    
repeat above code for multiple files
def chunks(lst, n):
    for i in range(0, len(lst), n):
        yield lst[i:i + n]
for n, headers_chunk in enumerate(chunks(headers.split(','), 100)):
    with open("file{}.csv".format(n), "w") as output_csv:
        for header in headers_chunk:
            f.write(header + ",")
            

也许你在找这样的东西:

import csv
data = "read your data hear"
headers = "your,headers,are,hear,.......,"
headers = headers.split(",")

with open("somefile.csv",'w') as fp:
    some_headers = headers[:100]
    writer = csv.DictWriter(fp,fieldnames=some_headers)
    d = {"header1":"valueone"} # prepare your data
    writer.writeheader()
    writer.writerow(d)
    
repeat above code for multiple files
def chunks(lst, n):
    for i in range(0, len(lst), n):
        yield lst[i:i + n]
for n, headers_chunk in enumerate(chunks(headers.split(','), 100)):
    with open("file{}.csv".format(n), "w") as output_csv:
        for header in headers_chunk:
            f.write(header + ",")
            
这将允许您迭代给定大小的块 因此,如果您的标题列表带有
headers.split(',')
,您可以这样使用它:

import csv
data = "read your data hear"
headers = "your,headers,are,hear,.......,"
headers = headers.split(",")

with open("somefile.csv",'w') as fp:
    some_headers = headers[:100]
    writer = csv.DictWriter(fp,fieldnames=some_headers)
    d = {"header1":"valueone"} # prepare your data
    writer.writeheader()
    writer.writerow(d)
    
repeat above code for multiple files
def chunks(lst, n):
    for i in range(0, len(lst), n):
        yield lst[i:i + n]
for n, headers_chunk in enumerate(chunks(headers.split(','), 100)):
    with open("file{}.csv".format(n), "w") as output_csv:
        for header in headers_chunk:
            f.write(header + ",")
            

首先将标题拆分为一个列表,列表之间用逗号分隔。 分离列表文件并将其写入文件列表

   header = header.split(sep=',')
    file1 = header[0:100]
    file2 = header[100:200]
    file3 = header[200:]
    
    with open('file1.txt', 'w') as files:
        files.writelines('%s\n' % head for head in file1)
    
    with open('file2.txt', 'w') as files:
        files.writelines('%s\n' % head for head in file2)
    
    with open('file3.txt', 'w') as files:
        files.writelines('%s\n' % head for head in file3)
这不是一个枯燥的代码,但它确实起到了作用