【问题标题】:Appending Two CSV Files using built in csv module使用内置 csv 模块附加两个 CSV 文件
【发布时间】:2016-06-07 22:44:49
【问题描述】:

我有两个 csv 文件要附加并使用结果创建一个新的 csv 文件。如果我使用 'rb' 或 'wb' 之类的 'binary' 来读取写入,那么它会抛出

_csv.Error: 迭代器应该返回字符串,而不是字节(你是否以文本模式打开文件?)

如果我只使用 'r' 和 'w' 来读取和写入以下代码,则会出现类似

的错误

IndexError: 列表索引超出范围

with open('file1.csv','rt') as f, open('final.csv','wt')as out:
        first=csv.reader(f)
        final = csv.writer(out)
        for row in first:
                result=row[1]
                final.writerow(result)

with open('file21.csv','rt') as s, open('final.csv','wt')as out:
        second =  csv.reader(s)
        final = csv.writer(out)
        for row in second:
                result=row[1]
                final.writerow(result)

【问题讨论】:

  • 你能提供整个堆栈跟踪吗?
  • 回溯(最近一次调用最后一次):文件“fileAppends.py”,第 18 行,在 result=row[0] IndexError: list index out of range @zsquare
  • 你想要完成什么?
  • 加入两个 csv 文件就可以了。但是两个 csv 文件都有相同的标题,所以我可以从两个文件中复制标题。 @Gijs

标签: python python-2.7 csv python-3.x


【解决方案1】:

您有一行没有两个值。尝试row[0],并检查是否需要指定分隔符。

【讨论】:

  • Traceback(最近一次调用最后一次):文件“fileAppends.py”,第 18 行,在 result=row[0] IndexError: list index out of range sorry now shows this
  • 你应该展示你的文件的一部分,否则很难找到你的问题。
  • 两个 csv 文件,列上的标题/标题相同,但值不同。好的,试图提供示例。 @Gijs
猜你喜欢
  • 2013-11-25
  • 1970-01-01
  • 2014-12-17
  • 1970-01-01
  • 2017-10-19
  • 1970-01-01
  • 2017-12-07
  • 2010-11-04
相关资源
最近更新 更多