我在csv文件中有以下文字:
b'DataMart\n\nDate/Time Generated,11/7/16 8:54 PM\nReport Time Zone,America/New_York\nAccount ID,8967\nDate Range,10/8/16 - 11/6/16\n\nReport Fields\nSite (DCM),Creative\nGlobest.com,2016-08_CB_018_1040x320_Globe St_16_PropertyFilter\nGlobest.com,2016-08_CB_018_1040x320_Globe St_16_PropertyFilter'
本文件中基本上有多个换行符,而不是一个大字符串,因此您可以按如下方式拍摄相同的文字
DataMart
Date/Time Generated,11/7/16 8:54 PM
Report Time Zone,America/New_York
Account ID,8967
Date Range,10/8/16 - 11/6/16
Report Fields
Site (DCM),Creative
Globest.com,2016-08_CB_018_1040x320_Globe St_16_PropertyFilter
Globest.com,2016-08_CB_018_1040x320_Globe St_16_PropertyFilter
我需要抓住最后两行,这基本上就是数据。我尝试了for
循环:
with open('file.csv','r') as f:
for line in f:
print(line)
而是使用\n
再次打印整行。
答案 0 :(得分:0)
只需阅读文件并获取最后两行:
my_file = file("/path/to/file").read()
print(my_file.splitlines()[-2:])
[-2:]
被称为切片:它创建一个切片,从第二个元素开始到最后一个元素,一直到最后。
答案 1 :(得分:0)
这是现在似乎对我有用的实际代码:
with open('BinaryFile.csv','rb') as f1:
data=f1.read()
text=data.decode('utf-8')
with open('TextFile.csv', 'w') as f2:
f2.write(text)
with open('TextFile.csv','r') as f3:
for line in f3:
print(line.split('\\n')[9:])
感谢您的帮助