第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何將列表的一部分寫(xiě)入 csv?

如何將列表的一部分寫(xiě)入 csv?

炎炎設(shè)計(jì) 2021-09-23 09:57:50
我在這些列表中有數(shù)據(jù)。我需要在行的開(kāi)頭使用這些特定元素,然后在之后添加 30 個(gè)數(shù)據(jù)點(diǎn)。我了解如何拼接列表,但我想從列表中返回那些單獨(dú)的項(xiàng)目w.writerow([sub_sub_header_list[0], data_list[0:29]])w.writerow([sub_sub_header_list[1], data_list[30:59]])w.writerow([sub_sub_header_list[2], data_list[60:89]])w.writerow([sub_sub_header_list[3], data_list[90:119]])我得到這樣的東西:Team Stats, [u'310', u'5291', u'1018', u'5.2', u'27', u'11', u'289', u'377', u'598', u'3879', u'26', u'16', u'6.3', u'190', u'398', u'1412', u'6', u'3.5', u'73', u'88', u'857', u'26', u'193', u'27.5', u'13.0', u'Own 27.6', u'2:21', u'5.40', u'27.4']當(dāng)我想要:Team Stats, [310, 5291, 1018,...] 等等。
查看完整描述

3 回答

?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊

如果我正確地破譯了你的問(wèn)題,這樣的事情會(huì)做到:


import csv

from itertools import zip_longest



def grouper(n, iterable, sentinel=object()):

    """ Collect data into fixed-length chunks or blocks. """

    args = [iter(iterable)] * n

    for t in zip_longest(*args, fillvalue=sentinel):

        yield list(elem for elem in t if elem is not sentinel)



# Example usage.

data_list = [u'310', u'5291', u'1018', u'5.2', u'27', u'11', u'289', u'377', u'598',

             u'3879', u'26', u'16', u'6.3', u'190', u'398', u'1412', u'6', u'3.5', u'73',

             u'88', u'857', u'26', u'193', u'27.5', u'13.0', u'Own 27.6', u'2:21',

             u'5.40', u'27.4']

sub_sub_header_list = [u'sub_header_0', u'sub_header_1', u'sub_header_2',

                       u'sub_header_3']


output_filename = 'grouped_data.csv'

group_size = len(sub_sub_header_list)

with open(output_filename, 'w', newline='') as csv_file:

    csv_writer = csv.writer(csv_file)

    for i, group in enumerate(grouper(group_size, data_list)):

        row = [sub_sub_header_list[i%group_size]] + group

        csv_writer.writerow(row)


print('File {!r} written.'.format(output_filename))

這是它根據(jù)示例數(shù)據(jù)創(chuàng)建的 csv 文件的內(nèi)容:


sub_header_0,310,5291,1018,5.2

sub_header_1,27,11,289,377

sub_header_2,598,3879,26,16

sub_header_3,6.3,190,398,1412

sub_header_0,6,3.5,73,88

sub_header_1,857,26,193,27.5

sub_header_2,13.0,Own 27.6,2:21,5.40

sub_header_3,27.4

請(qǐng)注意,由于 中的項(xiàng)目數(shù)data_list不是 中數(shù)字的精確倍數(shù)sub_sub_header_list,因此最后一行沒(méi)有前面的那么長(zhǎng)。


查看完整回答
反對(duì) 回復(fù) 2021-09-23
?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊

您還可以使用基本的 Python 函數(shù)來(lái)編寫(xiě) csv 文件。


假設(shè)您的數(shù)據(jù)如下:


# elements converted to strings:

data_list = list(map(str, numpy.random.randint(1,100,20)))

sub_sub_header_list = ['A','B','C']

以下代碼將生成所需的列表:


rowsize = len(sub_sub_header_list)

outlist=[]

# create header:

outlist.append(",".join(sub_sub_header_list))         

# create rows:

for i in range(0,len(data_list)-rowsize,rowsize):

    outlist.append(",".join(data_list[i:i+rowsize]))  

# show format:

print("\n".join(outlist))            

輸出采用所需的格式:


A,B,C

16,72,38

79,4,37

93,19,77

87,54,87

26,4,17

73,59,56

并且可以通過(guò)以下方式生成 csv 文件:


with open("outfile.csv", "w") as f:     

    f.write("\n".join(outlist))


查看完整回答
反對(duì) 回復(fù) 2021-09-23
?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

請(qǐng)記住,CSV 以表格方式(如 excel)結(jié)構(gòu)。首先是標(biāo)題,然后是單獨(dú)行上標(biāo)題的每一列的數(shù)據(jù)。當(dāng)您執(zhí)行 a 時(shí),writerow您必須為特定列提供正在寫(xiě)入的當(dāng)前行的實(shí)際值。您基本上已經(jīng)在每個(gè)列的 CSV 中編寫(xiě)了幾個(gè)列表,w.writerow([sub_sub_header_list[0], data_list[0:29]])這基本上是這樣的,這就是w.writerow([1, 2...], [3, 4,...])為什么您在 CSV 數(shù)據(jù)中輸入了如下內(nèi)容:


u'[1,2,..]', u'[3,4,...]'

它基本上將每個(gè)列表視為一個(gè)單獨(dú)的單元格,并將其轉(zhuǎn)換為字符串,以便將其存儲(chǔ)在 CSV 中(這就是 CSV 的u''來(lái)源)。


你基本上必須在整個(gè)向量中保留一個(gè)引用索引,因?yàn)樗且粋€(gè)一維數(shù)據(jù)結(jié)構(gòu),一個(gè)接一個(gè)地附加了系列。


import csv


pf = open("out.csv", "w")


csv_writer = csv.DictWriter(pf, fieldnames=["A", "B", "C"])

csv_writer.writeheader()


LENGTH = 3  # number elements per column

data_list = [1, 1, 2, 2, 3, 3]


for i in range(LENGTH):

    csv_writer.writerow({

        'A': data_list[i],

        'B': data_list[i+LENGTH],

        'C': data_list[i+LENGTH*2],

    })


pf.close()

輸出將類(lèi)似于:


A,B,C

1,2,3

1,2,3


查看完整回答
反對(duì) 回復(fù) 2021-09-23
  • 3 回答
  • 0 關(guān)注
  • 234 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)