这是我使用python的第一个项目,我在编程方面并不是那么出色。我有一个带有两个表的csv文件。
这是我的代码
import csv
csv_file = open('usagebased.csv')
csv_reader = csv.reader(csv_file, delimiter=',')
next(csv_reader)
所以我想将文件分成两个csv文件。最好的方法是什么?我可以根据标题2或空白行拆分文件吗?
谢谢!
答案 0 :(得分:0)
函数csv.reader
可以接受符合迭代器协议的任何对象,并从next()
输出一个字符串。知道了,您实际上可以通过空行将csv文件拆分为两个列表。之后,您可以为两个列表提供两个csv.reader
。
import csv
two_tables = open('usagebased.csv').read().split("\n\n\n")
# Feed first csv.reader
first_csv = csv.reader(two_tables[0], delimiter=',')
# Feed second csv.reader
second_csv = csv.reader(two_tables[1], delimiter=',')
答案 1 :(得分:0)
感谢你们两位我成功了。非常感谢你。
f = open('usagebased.csv').read().split("\n\n\n")
f1 = f[0]
f2 = f[1]
file1 = open('test1.csv','w')
file2 = open('test2.csv','w')
file1.write(f1)
file2.write(f2)
答案 2 :(得分:0)
如果我们不知道新行的数量,这可以提供帮助 ,我试着尽可能简单地编写代码: 既然你没有对文件里面的csv做任何事情,你就不需要使用csv库
FzListe
7MA1, 7OS1
7MA1, 7ZJB
7MA2, 7MA3, 7OS1
76G1, 7MA1, 7OS1
7MA1, 7OS1
71E5, 71E6, 7MA1, FSS1
这里是代码:
f= open('test.txt','rt')
while True:
name = 0
for s in f:
if not s=='\n':
with open(str(name),'at') as ff:
ff.write(s)
else:
while s =='\n':
s = next(f)
name +=1
with open(str(name),'at') as ff:
ff.write(s)