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

问题描述

我正在使用 pandas 读取和写入 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

标签: pythonpython-3.xcsv

解决方案


推荐阅读