将一个 CSV 的列连接到另一个 CSV

代码或模具

所以我试图将列值从一个 csv 组合到另一个,同时将其保存到最终的 csv 文件中。但我想遍历所有行,将每行的列值添加到原始 csv 的每一行。

换句话说, csv1 有 3 行。

Row 1: Frog,Rat,Duck
Row 2: Cat,Dog,Cow
Row 3: Moose,Fox,Zebra

我想将 csv2 中的另外 2 个列值组合到这些行中的每一行。

Row 1: Chicken,Pig
Row 2: 
Row 3: Bear,Boar

所以 csv3 最终会看起来像。

Row 1: Frog,Rat,Duck,Chicken,Pig
Row 2: Moose,Fox,Zebra,Bear,Boar

但同时,如果 csv2 中有一行根本没有值,我不希望它从 csv1 复制该行。换句话说,该行在最终的 csv 文件中根本不存在。我不喜欢使用熊猫,因为到目前为止我一直在我的代码中使用 csv 模块,但任何方法都值得赞赏。

到目前为止,我遇到了这种方法,如果只有一行,它就有效。但是当有更多的时候,它只是添加随机行并将值附加到所有地方。它将两列组合成一个字符串,同时出于某种奇怪的原因在 csv 的末尾添加了一个额外的空行。

import csv

f1 = open ("2.csv","r", encoding='utf-8')

with open("3.csv","w", encoding='utf-8', newline='') as f:
    writer = csv.writer(f)
    with open("1.csv","r", encoding='utf-8') as csvfile:
        reader = csv.reader(csvfile, delimiter=",")
        for row in reader:
            row[6] = f1.readline()
            writer.writerow(row)

f1.close()

使用上面给出的结果相同的示例 csvs。

Frog,Rat,Duck,Chicken,Pig 
Cat,Dog,Cow
Moose,Fox,Zebra,Bear,Boar
高登

您可以将两个文件压缩在一起,然后遍历每一行。然后您可以连接两个列表并将结果写入文件。

要检查是否有空行,我们可以将行集与空字符串集进行比较。

import csv

new_csv_data = []
EMPTY_ROW = set([""])


with open("1.csv", "r", newline="") as first_file, open("2.csv", "r", newline="") as second_file, open("3.csv", "w", newline="") as out_file:
    first_file_reader = csv.reader(first_file)
    second_file_reader = csv.reader(second_file)
    out_file_writer = csv.writer(out_file)

    # The iterator will stop when the shortest file is finished
    for row_1, row_2 in zip(first_file_reader, second_file_reader):
        # Check if the second row is empty, skipping if it is
        if not row_2 or set(row_2) == EMPTY_ROW:
            continue

        out_file_writer.writerow(row_1 + row_2)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将两个csv文件连接到一个基于csv文件的匹配列

来自分类Dev

将两个csv文件连接到一个基于csv文件的匹配列

来自分类Dev

将一个.csv中的列添加到另一个.csv文件中

来自分类Dev

将一个.csv中的列添加到另一个.csv文件中

来自分类Dev

将 CSV 导入另一个工作表

来自分类Dev

如何从另一个csv文件添加列

来自分类Dev

如何使用python将一个csv文件附加到另一个

来自分类Dev

根据另一个CSV清理CSV

来自分类Dev

MongoImport csv 将各种列组合/连接到一个数组以进行导入

来自分类Dev

使用PowerShell将列从一个csv文件复制到另一个

来自分类Dev

使用PowerShell将列从一个csv文件复制到另一个

来自分类Dev

如何使用AWK将某些列从一个CSV文件提取到另一个?

来自分类Dev

使用PowerShell将列从一个csv文件复制到另一个

来自分类Dev

如何使用AWK将某些列从一个CSV文件提取到另一个?

来自分类Dev

使用Powershell将整个列从一个CSV文件复制到另一个

来自分类Dev

将列复制到另一个csv文件

来自分类Dev

将列值映射到另一个 csv 文件信息的组合

来自分类Dev

将 csv 表的所有列与从另一个表中提取的常量相乘

来自分类Dev

Python:如何将值从另一个csv文件写入一个csv文件

来自分类Dev

将数据从一个CSV导入到另一个CSV文件-如何?

来自分类Dev

Python:如何将值从另一个csv文件写入一个csv文件

来自分类Dev

python根据另一个csv文件更新一个csv文件的列值

来自分类Dev

python脚本从另一个csv更新一个csv中的现有列值

来自分类Dev

通过删除PERL中的某些列,从另一个CSV文件创建一个CSV文件

来自分类Dev

将3个单元格数据合并为一个并写入另一个csv

来自分类Dev

Powershell-将数据从一个CSV添加到另一个CSV文件的新列和行

来自分类Dev

如何使用python将某些csv文件列复制到另一个csv文件中?

来自分类Dev

计数CSV列中单词的出现次数并写入另一个CSV?

来自分类Dev

从csv文件读取特定的列,然后使用python写入另一个CSV

Related 相关文章

  1. 1

    将两个csv文件连接到一个基于csv文件的匹配列

  2. 2

    将两个csv文件连接到一个基于csv文件的匹配列

  3. 3

    将一个.csv中的列添加到另一个.csv文件中

  4. 4

    将一个.csv中的列添加到另一个.csv文件中

  5. 5

    将 CSV 导入另一个工作表

  6. 6

    如何从另一个csv文件添加列

  7. 7

    如何使用python将一个csv文件附加到另一个

  8. 8

    根据另一个CSV清理CSV

  9. 9

    MongoImport csv 将各种列组合/连接到一个数组以进行导入

  10. 10

    使用PowerShell将列从一个csv文件复制到另一个

  11. 11

    使用PowerShell将列从一个csv文件复制到另一个

  12. 12

    如何使用AWK将某些列从一个CSV文件提取到另一个?

  13. 13

    使用PowerShell将列从一个csv文件复制到另一个

  14. 14

    如何使用AWK将某些列从一个CSV文件提取到另一个?

  15. 15

    使用Powershell将整个列从一个CSV文件复制到另一个

  16. 16

    将列复制到另一个csv文件

  17. 17

    将列值映射到另一个 csv 文件信息的组合

  18. 18

    将 csv 表的所有列与从另一个表中提取的常量相乘

  19. 19

    Python:如何将值从另一个csv文件写入一个csv文件

  20. 20

    将数据从一个CSV导入到另一个CSV文件-如何?

  21. 21

    Python:如何将值从另一个csv文件写入一个csv文件

  22. 22

    python根据另一个csv文件更新一个csv文件的列值

  23. 23

    python脚本从另一个csv更新一个csv中的现有列值

  24. 24

    通过删除PERL中的某些列,从另一个CSV文件创建一个CSV文件

  25. 25

    将3个单元格数据合并为一个并写入另一个csv

  26. 26

    Powershell-将数据从一个CSV添加到另一个CSV文件的新列和行

  27. 27

    如何使用python将某些csv文件列复制到另一个csv文件中?

  28. 28

    计数CSV列中单词的出现次数并写入另一个CSV?

  29. 29

    从csv文件读取特定的列,然后使用python写入另一个CSV

热门标签

归档