Python, delimiter for csv ';'



更改文件中的两列是一个简单的任务.csv。我使用此代码:

inn = open('tk.csv', 'w')
import csv
with open('input_2.csv') as File:
reader = csv.reader(File, delimiter=';')

for row in reader:
a = row[0]
b = row[1]
a, b = b, a
print(a,b, file=inn)

它为我提供了同一列中的鬃毛和值,由空格隔开。我知道,在答案中应该有分隔符";",就像在输入.csv中一样,以分隔 2 个不同列的名称和值。我该怎么办?

print("%s,%s"%(a, b), file=inn)
# delimiter is comma above you can change it to whatever you want.

如果你想在输出中;作为分隔符,你应该写一个。您使用的分隔符仅与输入相关。

您可以

  • 要么使用print("%s;%s" % (a, b), file=inn)输出分隔符,
  • 或者你可以指示print()生成正确的分隔符(print(a, b, sep=';', file=inn)(,
  • 或者您可以使用csv.writer(),这是推荐的方法。

你应该使用 csv.writer 像这样写入 csv:

import csv
with open('tk.csv', 'w') as output_file:
writer = csv.writer(output_file, delimiter=';')
with open('input_2.csv') as input_file:
reader = csv.reader(input_file, delimiter=';')
for row in reader:
a = row[0]
b = row[1]
a, b = b, a
writer.writerow([a, b])

最新更新