如何使用python从两个csv文件中获取值并将其放入单个csv文件中?

亚马孙

我想从两个csv文件中获取值并将其放在单个CSV文件中。

请在这两个csv文件中引用数据:

CSV 1

|   | Status   | P  | F | B | IP | NI | NA | CO | U |
|---|----------|----|---|---|----|----|----|----|---|
| 0 | Sanity 1 | 14 |   |   |    |    |    | 1  |   |
| 1 | Sanity 2 | 13 |   | 1 |    |    |    | 1  |   |
|   |          |    |   |   |    |    |    |    |   |

CSV 2

|   | Status     | P   | F | B | IP | NI | NA | CO | U |
|---|------------|-----|---|---|----|----|----|----|---|
| 0 | P0 Dry Run | 154 | 1 |   |    | 1  |    |    | 5 |
|   |            |     |   |   |    |    |    |    |   |
|   |            |     |   |   |    |    |    |    |   |

代码:我尝试使用以下代码:

filenames = glob.glob ("C:\\Users\\gomathis\\Downloads\\To csv\\*.csv")
wf = csv.writer(open("C:\\Users\\gomathis\\Downloads\\To 
csv\\FinalTR.csv",'wb'))

for f in filenames:
    rd = csv.writer(open(f,'r'))
    next(rd)
    for row in rd:
        wf.writerow(row)

实际结果:在尝试上面的代码时,我没有从上面的CSV文件中获得这些值。

预期结果:我需要将两个文件添加到单个csv文件中并保存在本地。

修改后的代码:

filenames = glob.glob ("C:\\Users\\gomathis\\Downloads\\To csv\\*.csv") wf = csv.writer(open("C:\\Users\\gomathis\\Downloads\\To csv\\FinalTR.csv",'w')) print(filenames)

for f in filenames:

  rd = csv.reader(open(f,'r', newline=''))
  next(rd)
  for row in rd:
      wf.writerow(row)

最新结果:修改代码后得到以下结果。而且我没有得到状态P,F,B等索引。请参考最新结果。

| 0 | P0 Dry Run - 15/02/18 | 154 | 1 | | | 1 | | | 5 | |---|--------------------------------|-----|---|---|---|---|---|---|---| | | | | | | | | | | | | 0 | Sanity in FRA Prod - 15/02/18 | 14 | | | | | | 1 | | | | | | | | | | | | | | 1 | Sanity in SYD Gamma - 15/02/18 | 13 | | 1 | | | | 1 | |

史蒂文·鲁姆巴尔斯基
import csv
import glob

dest_fname = "C:\\Users\\gomathis\\Downloads\\To csv\\FinalTR.csv"
src_fnames = glob.glob("C:\\Users\\gomathis\\Downloads\\To csv\\*.csv")
with open(dest_fname, 'w', newline='') as f_out:
    writer = csv.writer(fout)
    copy_headers = True
    for src_fname in src_fnames:
        # don't want to overwrite destination file
        if src_fname.endswith('FinalTR.csv'):
            continue
        with open(src_fname, 'r', newline='') as f_in:
            reader = csv.reader(f_in)
            # header row is copied from first csv and skipped on the rest
            if copy_headers:
                copy_headers = False
            else:
                next(reader) # skip header 
            for row in reader:
                writer.writerow(row)

笔记:

  • 将您open()的with语句放入自动关闭文件中。
  • 从文件模式中删除了二进制标志,并添加newline=''了传递给Python 3csv.readercsv.writerPython 3中的文件所需的二进制标志
  • 从改变csv.writercsv.reader你从读取文件。
  • 添加了一个copy_headers标志,以启用从第一个文件复制标头并在此之后跳过从任何文件的标头复制。
  • 检查源文件名,并在与目标文件名匹配时跳过它。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python如何使用csv文件中的特定单词获取tweet数据并将其放入新的csv文件中

Python 3〜如何从csv文件中获取行并将其放入列表

在Python中,我如何从文件中读取值并将其放入RawArray中?

如何在python中合并两个csv文件

循环从两个文件中读取值,并将其用作shell中curl的变量

使用 Python 查找两个 CSV 文件中的差异

如何比较两个csv文件并使用python在新文件中写入1或0

从文件中读取值并将其分成两个列表,其中包含Java流

如何在空手道中的单个功能文件中使用两个或多个csv文件?

Python-比较两个csv文件中的重复值,并将行写入单独的csv文件中

如何使用ID将两个CSV文件中的值映射到python中?

如何读取csv文件并将其放入变量中以与C#中的给定值进行比较

BASH-如何从CSV文件中的列中提取数据并将其放入数组中?

python从两个csv文件中提取列并将其合并为一个新的csv文件

如何从文件中获取文本并将其放入数组

如何使用 Python 计算 CSV 文件中两个日期之间的经过时间?

从CSV文件中提取最后几行,并将其放入Python中具有文件名的另一个文件中

如何在Powershell中使用get-vmhost命令检索时间戳并将其放入csv文件中?

如何更新我的同一个csv文件并将其用于python中的匹配?

如何使用熊猫导入多个csv文件并将其串联到一个DataFrame中

如何比较两个 csv 文件中的特定列并将差异输出到第三个文件

从两个 CSV 文件中读取

如何比较 CSV 文件中的两个表?

如何根据Python列中的值将csv文件分为两个文件?

在Python中使用X和Y值从两个CSV文件创建单个CSV

在Python中合并两个CSV文件

在python中交叉引用两个csv文件

如何从表中获取所有列并将其保存为python中的csv文件在s3中

从txt文件中获取数据并将其导出为CSV