如何在csv python中交换行和删除列

如何在csv python中交换行和删除列,python,csv,Python,Csv,这是我的csv输入 ,,A01.0 Брюшной тиф 0,"Тиф брюшной, Паратиф, Тиф, Паратифозная лихорадка", 在我的代码之后得到的输出 0, 这就是我想要的,我有11000个像这样的csv文件 "Тиф брюшной, Паратиф, Тиф, Паратифозная лихорадка",A01.0 Брюшной тиф 有了这段代码,我只能删除一个csv,但我不知道如何才能删除整个文件夹 问题收集两行数据并写入选定列

这是我的csv输入

,,A01.0 Брюшной тиф
0,"Тиф брюшной, Паратиф, Тиф, Паратифозная лихорадка",
在我的代码之后得到的输出

0,
这就是我想要的,我有11000个像这样的csv文件

"Тиф брюшной, Паратиф, Тиф, Паратифозная лихорадка",A01.0 Брюшной тиф
有了这段代码,我只能删除一个csv,但我不知道如何才能删除整个文件夹

问题收集两行数据并写入选定列

输出

Sentence 1,A01.0 Data1    
Sentence 2,A02.0 Data2
Sentence 3,A03.0 Data3

两个逗号总是在第一行的前面吗?@SvetlanaofVodianova是的,因为有三个逗号columns@SvetlanaofVodianova有可能吗?是的,检查第一行中的2个逗号并将其切掉,然后将其附加到下一行实际上我不需要它们,只需要两列,其中有名称,就是它,首先,第二,类似这样的事情。我离这很近,但我是python新手,这就是为什么我感到困惑的原因。如果您处理的是文件夹,
path
模块可以帮助您。循环遍历每个文件夹,找到
csv
文件,打开它并执行操作。@SvetlanaofVodianova好的,但如何在代码中执行此操作?从
pathlib
导入
路径
模块,使用您的
csv
文件所在的文件夹作为根目录,并使用
iterdir
循环遍历它,打开并执行操作。我不知道你的文件夹是如何组织的,或者你的文件是如何设置的,这就是为什么我不能提供答案的原因。
import csv


cols_to_remove = [0]# Column indexes to be removed (starts at 0)

cols_to_remove = sorted(cols_to_remove, reverse=True)# Reverse so we remove from the end first
row_count = 0# Current amount of rows processed

input_file = ('/Users/gfidarov/Desktop/Python/CSV/synonims copy/syn13.csv')
output_file = ('/Users/gfidarov/Desktop/Python/CSV/merged/syn.csv')
with open(input_file, "r") as source:
    reader = csv.reader(source)
    with open(output_file, "w", newline='') as result:
        writer = csv.writer(result)
        for row in reader:
            row_count += 1
            print('\r{0}'.format(row_count), end='') # Print rows processed
            for col_index in cols_to_remove:
                del row[col_index]
            writer.writerow(row)
import csv, io

CSV = """,,A01.0 Data1
0,"Sentence 1",
,,A02.0 Data2
0,"Sentence 2",
,,A03.0 Data3
0,"Sentence 3",
"""

data = []
with io.StringIO(CSV) as inf:
    data = [record for record in csv.reader(inf)]

# concat every ziped pair of 2 lists into one list
data2 = [r[0] + r[1] for r in zip(data[0::2], data[1::2])]

with io.StringIO() as out_fh:
    writer = csv.writer(out_fh)
    for rec in data2:
        # Write only Column 4 and 2
        writer.writerow((rec[4], rec[2]))

    print(out_fh.getvalue())
Sentence 1,A01.0 Data1    
Sentence 2,A02.0 Data2
Sentence 3,A03.0 Data3