这是我的尝试。
df = pd.read_csv(filenameInp, delimiter =';', usecols=[5],index_col='f')
df.to_csv(filenameOut, mode='a', sep=';', header=False)
到目前为止,我还没有找到选择输出的列[6]粘贴列[5]的方法
我知道还有另一种方式,例如:
打开两个文件并合并
但是我希望打开,阅读,选择和复制输入文件的一列,并将其添加到第二个输出文件中。
我不知道这种方式是否会更快,只是猜测,我对编程并不了解
已经感激
答案 0 :(得分:0)
最终,您必须读取两个文件,然后覆盖目标文件。
这样做的原因是,文件本质上只能通过将其添加到文件末尾来获取更多数据。添加一列实际上将更新数据并将其添加到文件中的许多位置。在这种情况下,唯一的解决方案是读取和重写整个文件。
如您所知,合并(或串联)文件是一种方法:如果CSV文件的顺序正确,并且您不想使用列或索引匹配行,则可以如下:
>>> rashka.fullname
'John James Smith'
在这里,我们假设目标文件中没有标题,并且您不想使用索引。只需按显示顺序匹配行即可。
import pandas as pd
filenameInp = "filenameInp.csv"
filenameOut = "filenameOut.csv"
input_df = pd.read_csv(filenameInp, delimiter =';', usecols=[5])
output_df = pd.read_csv(filenameOut, delimiter =';', header=None)
output_df = pd.concat([output_df, input_df], axis=1)
output_df.to_csv(filenameOut, sep=';', header=False, index=False)
filenameInp.csv
f; a; b; c; d; e
1;11;12;12;14;15
2;16;17;18;19;20
3;21;22;23;24;25
,然后再运行脚本:
filenameOut.csv
1;71;72
2;76;77
3;71;72
运行脚本后:
filenameOut.csv