我只有一周的python经验,所以请原谅我的无知。
我在CSV文件中有一个名为“a”的特定列。通过打印a,Python打印出新行中列的所有行,这是我想要的格式。如何识别每行的第3个最后一个字符,并在python中执行if函数。
if line[-3] == list(string.ascii_letters):
Add "registry"
# To focus on third last character and determine if it is an alphabet
# Could you please explain how to add a string to the end of the line,
# and remove a certain number of characters
elif line[-3] == ":":
Remove the last 5 characters and Add "rex"
elif line[-3] == "0"
Remove the last 3 characters and Add "tx"
a.readlines()
会为此目的而工作吗?
我也尝试过很少成功地实现rstrip:
for line in a:
line = line.rstrip()
process(line)
我应该在这里使用a = a.replace("str1", "str2")
吗?
示例 我无法发布任何图片。但是有以下格式的表格:
Mat Debt Severe Weather Dot
sdfs sdfg ghgd sadg:jj sjdkfsadf
fsdafs dfg fgdsf tdkkkk sdfsdaf
sadf hgdf adfsg dfgjjj0as dfbs
a使用'rows = csv.reader(f)'定义为行[n] 如果n为3,则输出如下:
sadg:jj
tdkkkk
dfgjjj0as
我希望输出为:
sarex
tdkkkregistry
dfgjjjtx
答案 0 :(得分:1)
with open('csvfile','r') as a,open('csvout','w') as out_csv:
for line in a.readlines():
if line[-3].isalpha():
line += 'registry'
elif line[-3] == ":":
line = line[:-3] + 'rex'
elif line[-3] == "0"
line = line[:-3] + 'tx'
out_csv.write(line + '\n')
答案 1 :(得分:0)
当检查字符串是否为ascii字符时,您正在检查它是否是包含所有ascii字符的列表。您可以通过使用'在'中查看它是否在列表中而不是' =='
res_partner
现在通过每一行循环,有很多方法可以做到这一点。这有两种方法。
首先使用splitlines()方法。这将创建一个包含每行的字符串的列表。然后循环它。
if line[-3] in string.ascii_letters:
line += "registry"
elif line[-3] == ":":
line = line[:-5]
line += "rex"
elif line[-3] == "0"
line = line[:-3]
line += "tx"
第二种方法是使用拆分和分割\ n字符。
for line in a.splitlines():
...
答案 2 :(得分:0)
我不确定您是要创建更新的CSV文件,还是只需要显示更新的值?
以下脚本同时执行:
import csv, re
with open("input.csv", "r") as f_input, open("output.csv", "wb") as f_output:
csv_input = csv.reader(f_input)
csv_output = csv.writer(f_output)
csv_output.writerow(next(csv_input))
for cols in csv_input:
if cols[3][-3].isalpha():
cols[3] += 'registry'
elif cols[3][-3] == ":":
cols[3] = cols[3][:-5] + 'rex'
elif cols[3][-3] == "0":
cols[3] = cols[3][:-3] + 'tx'
csv_output.writerow(cols)
print cols[3]
这将打印以下输出:
sarex
tdkkkkregistry
dfgjjjtx
并将按如下方式创建输出CSV文件:
Mat,Debt,Severe,Weather,Dot
sdfs,sdfg,ghgd,sarex,sjdkfsadf
fsdafs,dfg,fgdsf,tdkkkkregistry,sdfsdaf
sadf,hgdf,adfsg,dfgjjjtx,dfbs
使用Python 2.7进行测试