python - 我想将列表保存在 .csv 文件中。列表中的每个 \n 都应在文件中创建一个新行
问题描述
示例列表:
line = ['New York;New\nBerlin;Ber\nMelbourne;Mel']
我列表中的每个第二个元素都包含一个 \n。
with open('file.csv', 'w', newline='') as csvfile:
save = csv.writer(csvfile)
y = list.count("\n")
for line in range(0, y):
save.writerow(str(list))
.csv 文件应如下所示:
NewYork;New
Berlin;Ber
Melbourne;Mel
我的目标是在 excel 中显示列表。这应该是这样的:
纽约 | 新
柏林 | 贝尔
墨尔本 | 梅尔
| = 新列
保存过程需要是什么样的?
解决方案
您的列表不是 Python 列表,如果其中包含一个字符串,它应该是这样\n
的。
lines = ["New York;New\nBerlin;Ber\nMelbourne;Mel"]
或者如果它包含多个带有 '\n' 的字符串,则像这样
lines = ["New York;New\nBerlin;Ber\nMelbourne;Mel",
"Ber\nMelbourne;Mel\nNew York;New\nBerlin",
...
]
此外,还不是很清楚您要从您编写的代码中实现什么,但问题似乎是您有一个包含换行符的字符串列表,并且您想在 '\n 处换行' 同时将其写入 csv 文件。
代码很简单
import csv
# this list is explained above
lines = ["New York;New\nBerlin;Ber\nMelbourne;Mel", "New York;New\nBerlin;Ber\nMelbourne;Mel"]
lines = [[word] for line in lines for word in line.split('\n')]
with open('file.csv', 'w') as fh:
csv_writer = csv.writer(fh)
csv_writer.writerows(lines)
此外,由于您没有谈论列,我建议请阅读 CSV 文件,您可能不需要 CSV 文件。
更新
阅读您的评论后,我相信您有一大串内容,并且将上述代码中的前两行更改为此应该可以工作。
content = "first colum first line; second colum first line \n first colum second line; second colum second line"
lines = [line.split(';') for line in content.split('\n')]
推荐阅读
- ag-grid - 在 ag-grid 中为 Group 传递自定义标题渲染器
- python - 如何在 Windows 中通过“SYSTEM”用户执行 python subprocess.Popen()
- firebase - Firebase RTDB 在关键字列表中搜索关键字
- xcode - SwiftUI:构建 NavigationBar 时出现永久诊断错误
- javascript - 无法读取 null JS 的属性“选项”
- javascript - 对 Stripe 的 API 请求失败(错误:不是有效的 URL)
- linux - socketcan Candump - 如何扩展 CAN ID?
- architecture - 如何将系统从 1 个请求/秒扩展到数千个请求/秒
- node.js - Hyperledger Fabric Node SDK 中 IdentityService 的删除函数返回 {“code”:56,“message”:“Identity removal is disabled”}
- python - Pandas:获取某个类别中最受欢迎的项目 ID(两个 Groupby 级别)