簡體   English   中英

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

等等。 我也有一個手動編寫的標題列表,例如

['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()

但是當我查找 output 文件時,

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM