使用python将文本文件转换为csv
我有这样一个文本文件:使用python将文本文件转换为csv,python,csv,Python,Csv,我有这样一个文本文件: Name: John Sanj Age: 23 Gender: Male Name,Age,Gender John Sanj,23,Male Name,Age,Gender J,o,h,n, ,S,a,n,j 2,3 M,a,l,e 我想将其转换为csv格式,如下所示: Name: John Sanj Age: 23 Gender: Male Name,Age,Gender John Sanj,23,Male Name,Age,Gender J,o,h,
Name: John Sanj
Age: 23
Gender: Male
Name,Age,Gender
John Sanj,23,Male
Name,Age,Gender
J,o,h,n, ,S,a,n,j
2,3
M,a,l,e
我想将其转换为csv格式,如下所示:
Name: John Sanj
Age: 23
Gender: Male
Name,Age,Gender
John Sanj,23,Male
Name,Age,Gender
J,o,h,n, ,S,a,n,j
2,3
M,a,l,e
这是我的密码:
import csv
import os
filepath=os.path.normpath('C:\\Users\\Desktop\\new\\ac.txt')
with open(filepath, 'r') as f:
with open('log.csv', 'w') as out_file:
writer = csv.writer(out_file)
writer.writerow(('Name', 'Age','Gender'))
for line in f:
x=line.split(':')
x[-1]=x[-1].strip()
b=x[1]
writer.writerow(b)
但我得到的输出是这样的:
Name: John Sanj
Age: 23
Gender: Male
Name,Age,Gender
John Sanj,23,Male
Name,Age,Gender
J,o,h,n, ,S,a,n,j
2,3
M,a,l,e
您正在将字符串从每一行传递到
writerow
(而不是所有的行),如果字符串是可写的,则会被拆分为它们的组成字符
你应该一次阅读所有的行,去掉新行字符,在上拆分:'
(注意尾随空格),然后换位
在这里:
谢谢,但我会读取很多文本文件并将其转换为单个csv文件。我只想显示一次密钥(姓名、年龄、性别)。然后您可以写入一次头文件(即第一行),并且始终从其他文件中丢弃头文件,因为头文件是相同的。如何丢弃头文件?