如何从csv中读取数据块并添加列,然后使用pandas写入同一文件中的同一行

2024-09-28 22:24:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用熊猫读写csv文件。我想在csv中扩展列。我是以块的形式读取csv,当第一个块读取然后将新列数据扩展到它,然后将该块写入csv,然后接收第二个块添加新列数据,然后写入csv。 下面是我想要的。你知道吗

SN, Name, City
1, John, Washington
2, Eric, Los Angeles
3, Brad, Texas 

它将新列数据追加到新行,而不是追加到现有行。你知道吗

SN, Name, 
1, John, 
2, Eric, 
3, Brad, 
4   City
5  Washington
6  Los Angeles
7  Texas

这是代码。

with open('exampleCsv.csv', 'r') as fieldnames:
    csv_input = pd.read_csv(fieldnames, chunksize=4)
    list_1 = [5,6,7,8,1,2,3,4]
    list_len = len(list_1)//2

    for i in csv_input:
        if list_len%2 == 0:   
            if list_iter == 1:
                i['channel_name'] = list_1[list_len:]
                i.to_csv('exampleCsv.csv', mode='a', index=True)

            elif list_iter == 2:
                i['channel_name'] = list_1[:list_len]
                i.to_csv('exampleCsv.csv', header=None, mode='a', index=True)
        elif list_len%2 == 1:
            i['channel_name'] = list1
            i.to_csv('exampleCsv.csv', header=None, mode='a', index=True)
        list_iter = list_iter + 1

Tags: csvto数据nametruecityindexlen