如何连接两个csv文件然后按python排序
Posted
技术标签:
【中文标题】如何连接两个csv文件然后按python排序【英文标题】:how to concat two csv file and then sort by python 【发布时间】:2016-02-29 06:58:59 【问题描述】:我有两个名为 all_cv.csv 和 common_cv.csv 的 .csv 文件。首先,我通过 pandas 将这两个 csv 文件连接起来,然后将数据保存到 pandas 名为 join_cv_common.csv 的新文件中。之后,我通过 pandas 对 join_cv_common.csv 文件进行了如下排序,并将存储的数据存储到一个名为 sorted_cv_common.csv 的新文件中。我想重写pandas的这两个函数——concat和sort by pure python(2.6和3.4)。有人可以在这方面帮助我吗?非常感谢。
Pandas concat 函数
cv = pd.read_csv('all_cv.csv')
ac = pd.read_csv('common_cv.csv')
merged = pd.concat([cv, ac])
merged.to_csv('join_cv_common.csv')
熊猫排序功能
df = pd.read_csv('join_cv_common.csv')
df = df.sort(["adv_id", "conv_id"])
df.to_csv('sorted_cv_common.csv')
【问题讨论】:
在写入 csv 之前没有排序的任何原因? 让我澄清一下:你想“用纯 Python 重写pandas.concat
和 pandas.sort
”吗?是什么阻止您使用 pandas
中的实现?谢谢。
【参考方案1】:
使用文件 i/o 和列表排序
据我所知,这可以通过使用文件 i/o 读取两个文件来完成,然后只需加入并将字符串转换为列表,然后对新创建的列表进行排序并通过转换将其放入最终输出 csv列表到一个字符串。 以下是它的代码实现。
123.csv
1,a
2,b
4,d
456.csv
3,c
5,d
使用文件打开功能读取d1和d2中的csv文件
d = d1 + '\n' + d2
lst = d.split('\n')
data = "\n".join(sorted(lst))
【讨论】:
以上是关于如何连接两个csv文件然后按python排序的主要内容,如果未能解决你的问题,请参考以下文章