Python: 如何正确拆分字符串以保存为csv格式?
Python: How can I split the string properly to save in the format of csv?
我正在尝试以 csv 格式保存我的字符串。
字符串看起来像这样,由 '\n',:
分隔的行
12,12,11,13,11,12
21,15,21,23,41,26
34,16,46,17,21,15
44,17,22,39,10,13
等等。我还有一个手动编写的 headers 列表,例如
['A', 'B', 'C', 'D', 'E', 'F']
当我尝试使用 csv 编写器编写此文件时,
with open('output.csv', 'w', newline='') as csvwriter:
writer = csv.writer(csvwriter, dialect='excel')
writer.writerow(header) # write header
for r in output.splitlines():
writer.writerows(r)
csvwriter.close()
但是当我查找输出文件时,
A,B,C,D,E,F
1
2
","
1
2
","
1
1
","
... (and so on)
为什么会发生这种情况,我该如何解决?感谢您的帮助。
如果你的字符串是这样的:
string = '''12,12,11,13,11,12
21,15,21,23,41,26
34,16,46,17,21,15
44,17,22,39,10,13'''
headers = ['A', 'B', 'C', 'D', 'E', 'F']
没有任何图书馆:
with open('untitled.txt', 'w') as f:
f.write(','.join(headers)+'\n')
for line in string:
f.write(line)
您可以将其制作成 pandas csv 然后保存:
import pandas as pd
data = []
for i in string.split('\n'):
data.append(i.split(','))
csv = pd.DataFrame(data=data, columns=headers)
csv.to_csv('path_to_save', index=False)
我正在尝试以 csv 格式保存我的字符串。 字符串看起来像这样,由 '\n',:
分隔的行12,12,11,13,11,12
21,15,21,23,41,26
34,16,46,17,21,15
44,17,22,39,10,13
等等。我还有一个手动编写的 headers 列表,例如
['A', 'B', 'C', 'D', 'E', 'F']
当我尝试使用 csv 编写器编写此文件时,
with open('output.csv', 'w', newline='') as csvwriter:
writer = csv.writer(csvwriter, dialect='excel')
writer.writerow(header) # write header
for r in output.splitlines():
writer.writerows(r)
csvwriter.close()
但是当我查找输出文件时,
A,B,C,D,E,F
1
2
","
1
2
","
1
1
","
... (and so on)
为什么会发生这种情况,我该如何解决?感谢您的帮助。
如果你的字符串是这样的:
string = '''12,12,11,13,11,12
21,15,21,23,41,26
34,16,46,17,21,15
44,17,22,39,10,13'''
headers = ['A', 'B', 'C', 'D', 'E', 'F']
没有任何图书馆:
with open('untitled.txt', 'w') as f:
f.write(','.join(headers)+'\n')
for line in string:
f.write(line)
您可以将其制作成 pandas csv 然后保存:
import pandas as pd
data = []
for i in string.split('\n'):
data.append(i.split(','))
csv = pd.DataFrame(data=data, columns=headers)
csv.to_csv('path_to_save', index=False)