如何使用python交换csv文件中的行?
我有11k csv文件,其中只有两行,它们看起来像这样如何使用python交换csv文件中的行?,python,database,csv,Python,Database,Csv,我有11k csv文件,其中只有两行,它们看起来像这样 --------------------------- | A0.31 | --------------------------- some data | | --------------------------- 我只想要一排 --------------------------- some data | A0.31 | ---------------
---------------------------
| A0.31 |
---------------------------
some data | |
---------------------------
我只想要一排
---------------------------
some data | A0.31 |
---------------------------
我有这段代码,但它只是替换值,而不是将它们放在一行中
import csv, os
with open('path/to/filename') as inf, open('path/to/filename_temp', 'w') as outf:
reader = csv.reader(inf)
writer = csv.writer(outf)
for line in reader:
if line[1] == '0':
...
... # as above
os.remove('path/to/filename')
os.rename('path/to/filename_temp', 'path/to/filename')
这应该能奏效。
您表示您的文件是CSV格式的,因此我假设您的文件实际上是CSV格式的,即如下所示:
,'A0.31'
'some data',
如果您的文件真的那么短,我只需加载文件中的两行,然后立即将组合结果写入同一个文件:
import csv
data = []
with open('path/to/filename') as inf:
reader = csv.reader(inf)
for row in reader:
data.append(row)
with open('path/to/filename', 'w') as outf:
writer = csv.writer(outf)
writer.writerow([data[1][0], data[0][1]])
,syn,A01.0ББюаааааааааааааааааааааааааа1072,
import csv
data = []
with open('path/to/filename') as inf:
reader = csv.reader(inf)
for row in reader:
data.append(row)
with open('path/to/filename', 'w') as outf:
writer = csv.writer(outf)
writer.writerow([data[1][0], data[0][1]])