python - 将 csv 列中的占位符字符替换为输出文件中的换行符(使用 python)
问题描述
我必须将包含在 csv 文件列中的代码写入新文件(从每一行)。当然,代码实际上应该包含换行符,所以我插入了一个占位符(@),我想在输出新文件时将其转换为换行符。我试图在代码中的不同位置进行替换,但没有任何效果。我什至没有用 \r\n 字符串替换 @ 。在我的上一个版本(如下)中,python 只是愉快地继续输出@:
import csv
import codecs
tablelist=('gz_categoria', 'gz_cabildo')
counter=0
for item in tablelist:
with open('C:/Hgis/'+"%s" % (item)+'.csv', 'r') as csvFile:
reader = csv.reader(csvFile)
for row in reader:
row[1].replace('\r\n', '\\r\n')
row[1].replace('@', '\\r\n')
newpage = codecs.open ('C:/Hgis/db/'+"%s" % (item)+''+str(counter)+'.txt',encoding='utf-8', mode='w+')
newpage.write(row[1].decode('UTF-8'))
counter = counter+1
newpage.close()
以下是 csv 的前两行:
1,---- 数据输入类别 ----@ID: 1000135categoria: Ciudad@subcategoria: Ciudad@es parte de: @Desde: 1539@Hasta: 9999@Desde_fuzzy: exact@Hasta_fuzzy: end@----,1000135 ,Patzcuaro,1539,exact,9999,end,Ciudad,Ciudad,gerhardNE,None,No,-2
2,---- 数据输入类别----@ID: 1000136categoria: Pueblo@subcategoria: Pueblo de indios@es parte de: @Desde: 1111@Hasta: 9999@Desde_fuzzy: start@Hasta_fuzzy: end@---- ,1000136,Puruandiro,1111,start,9999,end,Pueblo,Pueblo de indios,tanck,None,No,0
文件 1 中的所需输出:
---- 数据输入类别 ----
编号:1000135
分类: 城
子类别: 城市
es parte de:
德斯德:1539
哈斯塔:9999
Desde_fuzzy:精确
Hasta_fuzzy:结束
解决方案
事实上,正如@snakecharmerb 评论的那样,错误是没有为结果分配变量:
以下代码产生所需的结果:
tablelist=('gz_categoria', 'gz_cabildo')
counter=0
for item in tablelist:
with open('C:/Hgis/'+"%s" % (item)+'.csv', 'r') as csvFile:
reader = csv.reader(csvFile)
for row in reader:
row[1].replace('@', '\r\n')
newpage = codecs.open ('C:/Hgis/db/'+"%s" % (item)+''+str(counter)+'.txt',encoding='utf-8', mode='w+')
newpage.write(row[1].decode('UTF-8'))
counter = counter+1
newpage.close()
推荐阅读
- symfony - FosUserBundle 注册后确认电子邮件
- gitlab - 在 .gitlab-ci.yml 文件中使用什么图像在 gitlab-ci 中运行 fastlane?
- node.js - 我正在尝试使用sails js从数据库中的相关表中获取数据。但我总是得到未定义的错误。谢谢
- java - Java 弹簧最大值。上传大小限制
- apache-spark - 使用 PySpark 将 Spark Dataframe 加载到 ElasticSearch
- java - 删除 recyclerView 中的所有选定项目
- javascript - 如何在角度 1 中获取所选选项的索引
- android - 将选项卡式活动中的浮动按钮链接到每个选项卡
- angularjs - 在 window.location.href 之前/期间吐司
- razor - ASP .Net Core 2.1.1 中的 Razor 类库