在 Python 中将行从一个 CSV 附加到另一个
Posted
技术标签:
【中文标题】在 Python 中将行从一个 CSV 附加到另一个【英文标题】:Appending rows from one CSV to another in Python 【发布时间】:2019-07-11 23:39:12 【问题描述】:我已经为此查看了许多解决方案,但找不到适合我想要做的事情的解决方案。
基本上我有 2 个 CSV 文件:
所有.csv
1 Wed Oct 03 41.51093923 41.51093923 41.51093923 41.51093923
2 Wed Oct 04
3 Wed Oct 05 41.43764015 41.43764015 41.43764015
4 Wed Oct 06 41.21395681 41.21395681 41.21395681
5 Wed Oct 07 42.07607442 42.07607442 42.07607442
6 Wed Oct 08 42.0074109 42.0074109 42.0074109
7 Wed Oct 09 41.21395681 41.21395681
8 Wed Oct 10 41.43764015 41.43764015 41.43764015 41.43764015
9 Wed Oct 11 41.21395681 41.21395681 41.21395681 41.21395681
原始.csv
10 Wed Oct 12 41.43764015
11 Wed Oct 13
12 Wed Oct 14 42.07607442 42.07607442 42.07607442
13 Wed Oct 15 41.43764015 41.43764015 41.43764015 41.43764015
14 Wed Oct 16 41.21395681 41.21395681 41.21395681 41.21395681
15 Wed Oct 17
16 Wed Oct 18 42.07607442 42.07607442 42.07607442
我想将original.csv
附加到all.csv
,只需将original.csv
中的所有行合并到all.csv
的最后一行下方即可:
1 Wed Oct 03 41.51093923 41.51093923 41.51093923 41.51093923
2 Wed Oct 04
3 Wed Oct 05 41.43764015 41.43764015 41.43764015
4 Wed Oct 06 41.21395681 41.21395681 41.21395681
5 Wed Oct 07 42.07607442 42.07607442 42.07607442
6 Wed Oct 08 42.0074109 42.0074109 42.0074109
7 Wed Oct 09 41.21395681 41.21395681
8 Wed Oct 10 41.43764015 41.43764015 41.43764015 41.43764015
9 Wed Oct 11 41.21395681 41.21395681 41.21395681 41.21395681
10 Wed Oct 12 41.43764015
11 Wed Oct 13
12 Wed Oct 14 42.07607442 42.07607442 42.07607442
13 Wed Oct 15 41.43764015 41.43764015 41.43764015 41.43764015
14 Wed Oct 16 41.21395681 41.21395681 41.21395681 41.21395681
15 Wed Oct 17
16 Wed Oct 18 42.07607442 42.07607442 42.07607442
如您所见,数据没有标题,并且行的长度各不相同。这只是我正在使用的文件类型的一个示例,但我想获得一个可以在任何 CSV 上运行的解决方案。
我正在使用 Python3,到目前为止,我尝试过使用 pandas
库,但没有成功。
任何建议都会很棒,谢谢。
【问题讨论】:
你能在使用pandas
时展示你的尝试吗?
how to combine two data frames in python pandas的可能重复
how to merge 200 csv files in python的可能重复
【参考方案1】:
您不需要使用pandas
。只需将一个 csv 附加到另一个:
with open('original.csv', 'r') as f1:
original = f1.read()
with open('all.csv', 'a') as f2:
f2.write('\n')
f2.write(original)
输出:
1 Wed Oct 03 41.51093923 41.51093923 41.51093923 41.51093923
2 Wed Oct 04
3 Wed Oct 05 41.43764015 41.43764015 41.43764015
4 Wed Oct 06 41.21395681 41.21395681 41.21395681
5 Wed Oct 07 42.07607442 42.07607442 42.07607442
6 Wed Oct 08 42.0074109 42.0074109 42.0074109
7 Wed Oct 09 41.21395681 41.21395681
8 Wed Oct 10 41.43764015 41.43764015 41.43764015 41.43764015
9 Wed Oct 11 41.21395681 41.21395681 41.21395681 41.21395681
10 Wed Oct 12 41.43764015
11 Wed Oct 13
12 Wed Oct 14 42.07607442 42.07607442 42.07607442
13 Wed Oct 15 41.43764015 41.43764015 41.43764015 41.43764015
14 Wed Oct 16 41.21395681 41.21395681 41.21395681 41.21395681
15 Wed Oct 17
16 Wed Oct 18 42.07607442 42.07607442 42.07607442
【讨论】:
以上是关于在 Python 中将行从一个 CSV 附加到另一个的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual C# 中将选定行从 DataGridView 移动到另一个
在 Python 2.7.3 中将 csv 文件附加到一个空列表中 - 获取一个空列表