我在基于MySQL,Python和Linux的操作系统中自学成才,并且非常肯定必须有一个更优雅的解决方案来解决这个问题,或者至少可以解决这个问题。 代码从数据库中获取过去24小时的数据,并将它们存储到.txt文件中以便进一步处理。但是,我得到的输出有额外的符号进一步分析麻烦 - 我想知道是否有办法删除它们。
我的(相关)代码是:
...
cur = db.cursor()
cur.execute("SELECT * FROM Sens WHERE sdate > DATE_SUB(NOW(),INTERVAL 24 HOUR)")
query = cur.fetchall()
OutputFile = open("/root/Desktop/data.txt", "w")
for i in range (0, len(query)):
print>>OutputFile, query[i]
...
我使用for循环的原因是以换行方式打印每一行。 我得到的结果如下:
('0,01/24/16,12:41:49,45.185\r\r\n',)
我需要的结果是:
0,01/24/16,12:41:49,45.185
非常感谢帮助, LZ
答案 0 :(得分:1)
您可以使用:
for i in range (0, len(query)):
print>>OutputFile, query[i][0].strip()
[0]
索引从元组中选择字符串,strip()
函数从字符串的左侧和右侧删除空格。
答案 1 :(得分:0)
首先,你不应该在range(len(something))
上进行迭代。总是迭代事物本身。此外,使用file.write
输出而不是煽动更为惯用。
从那里,你需要做的只是输出每个项目中的第一个元素,[0]
。
for q in query:
OutputFile.write(q[0])