【发布时间】:2017-12-26 00:32:27
【问题描述】:
我正在尝试这样做,
import glob
interesting_files = glob.glob("/home/tcs/PYTHONMAP/test1/*.csv")
header_saved = False
with open('/home/tcs/PYTHONMAP/output.csv','wb') as fout:
for filename in interesting_files:
with open(filename) as fin:
header = next(fin)
if not header_saved:
fout.write(header)
header_saved = True
for line in fin:
fout.write(line)
得到
File "/home/tcs/.config/spyder-py3/temp.py", line 11, in <module>
fout.write(header)
TypeError: a bytes-like object is required, not 'str'
我对python不太了解,请帮忙 我也想知道如何将 1 个大 csv 拆分为具有相同标题的多个 csv。
【问题讨论】:
-
您通过指定
'wb'以二进制形式打开fout文件。我认为如果您指定'w'来编写字符串,它应该可以工作。您可能还想看看thecsvmodule。 -
非常感谢我对系统命令所做的工作,你能描述一下我们如何将大 csv 文件拆分成小文件,但每个拆分都应该有标题,提前谢谢
-
sed 2d *.csv > /a2.csv 。命令能够在没有 python 的情况下连接相同,
-
@ShubhamChauhan 它不能工作它会重复标题