首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >读入文件中某行的前4位并存储它

读入文件中某行的前4位并存储它
EN

Stack Overflow用户
提问于 2019-06-14 05:13:26
回答 2查看 40关注 0票数 0

我正在尝试读取.dat文件中的前4位数字,并将其存储在每行的循环中。.dat文件如下所示:

代码语言:javascript
复制
0004 | IP
0006 | IP
0008 | IP

我想创建一个循环,它读取前四位数字,并存储该循环的迭代,直到它读取整个文件,然后将其写入输出文件。

我写了这段代码,但它所做的基本上就是将.dat转换为csv

代码语言:javascript
复制
with open('stores.dat', 'r') as input_file:
    lines = input_file.readlines()
    newLines = []
    for line in lines:
        newLine = line.strip('|').split()
        newLines.append(newLine)


with open('file.csv', 'w') as output_file:
    file_writer = csv.writer(output_file)
    file_writer.writerows(newLines)
EN

Stack Overflow用户

发布于 2019-06-14 05:37:58

因为你知道你每次要读4个字符,所以你可以只读一个切片:

代码语言:javascript
复制
import csv

# you can open multiple file handles at the same time
with open('stores.dat', 'r') as input_file, \
     open('file.csv', 'w') as output_file:
    file_writer = csv.writer(output_file)
    # iterate over the file handle directly to get the lines
    for line in input_file:
        row = line[:4] # slice the first 4 chars
        # make sure this is wrapped as a list otherwise
        # you'll get unsightly commas in your rows
        file_writer.writerow([row])

哪种输出

代码语言:javascript
复制
$ cat file.csv
0004
0006
0008
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56588640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档