相关疑难解决方法(0)

在Python中为一个现有文件添加一行

我需要在文本文件的第一行添加一行,看起来我可用的唯一选项是比我期望的python更多的代码行.像这样的东西:

f = open('filename','r')
temp = f.read()
f.close()

f = open('filename', 'w')
f.write("#testfirstline")

f.write(temp)
f.close()
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法?另外,我看到这个双句柄示例比打开单个句柄进行读写('r +')更常见 - 为什么会这样?

python prepend

67
推荐指数
4
解决办法
6万
查看次数

在文件开头写()?

我现在这样做,但我希望它在文件的开头写.

f = open('out.txt', 'a') # or 'w'?
f.write("string 1")
f.write("string 2")
f.write("string 3")
f.close()
Run Code Online (Sandbox Code Playgroud)

所以内容out.txt将是:

string 3
string 2
string 1
Run Code Online (Sandbox Code Playgroud)

而不是(像这样的代码):

string 1
string 2
string 3
Run Code Online (Sandbox Code Playgroud)

python file-io

19
推荐指数
2
解决办法
3万
查看次数

使用熊猫添加带有“ to_csv”的注释

我使用方法保存一个数据框,to_csv输出如下所示:

2015 04 08 0.0 14.9
2015 04 09 0.0  9.8
2015 04 10 0.3 23.0
Run Code Online (Sandbox Code Playgroud)

但我需要对此输出进行一些修改,我需要添加一个注释和一个具有恒定值且大小与其他列相同的列。我需要获得这样的输出:

#Data from the ...
#yyyy mm dd pcp temp er
2015 04 08 0.0 14.9 0
2015 04 09 0.0  9.8 0
2015 04 10 0.3 23.0 0
Run Code Online (Sandbox Code Playgroud)

有谁知道这是怎么做到的吗?

python pandas

5
推荐指数
1
解决办法
1562
查看次数

将行添加到文件开头

我正在尝试在文本文件的开头添加一个新行.我首先打开文件,append但只允许我使用write_all写入文件的末尾,至少这是我得到的结果.如果我正确阅读文档,这是设计的.

我试过玩seek,但这并没有解决它.

这就是我目前所拥有的:

let mut file = OpenOptions::new().append(true).open(&file_path).unwrap();
file.seek(SeekFrom::Start(0));
file.write_all(b"Cool days\n");
Run Code Online (Sandbox Code Playgroud)

如果我打开文件write,我最终会覆盖数据而不是添加.用Rust实现这个目标的合适方法是什么?

io file rust

4
推荐指数
1
解决办法
765
查看次数

如何在文件顶部添加新的文本行?

我正在开发一个简单的程序,它使Python脚本可执行,我正在添加解释器路径的部分(#!/ usr/bin/python).我尝试这样做,但它不是添加新行,而是替换当前行删除下一行的一部分.我做错了什么?

我将源代码上传到Ubuntu Pastebin:http://pastebin.ubuntu.com/1032683/ 错误的代码在第28行和第31行之间:

wfile = open(file, 'r+')
if wfile.readline() != "#! /usr/bin/python\n":
    wfile.seek(0)
    wfile.write("#! /usr/bin/python\n")
Run Code Online (Sandbox Code Playgroud)

使用带有iPad 2的Python 2.7.2(适用于iOS的Python),也可以在同一个iPad(Cydia端口)中使用2.5.1进行测试.

python file-io python-2.7

3
推荐指数
1
解决办法
1万
查看次数

如何在大文本文件的开头插入文本?

有一个大约44G的文件。我想在第一行之前添加一些内容。我试过用sed。像这样

sed -i '1iSome content' /home/always/test.dat
Run Code Online (Sandbox Code Playgroud)

然而,它花费大约100分钟。有没有更快的方法?任何方式都可以。例如Java、C、Linux工具...

实际场景我想导入一个csv到neo4j数据库。我的步骤是:

  1. 从 hive 导出一个 csv 到 hdfs(我不能使用 hive 表头,因为它不是 neo4j 想要的。)
  2. 将 csv 文件下载到本地文件系统。
  3. 向 csv 文件添加标题(neo4j-admin 导入需要它)

c java linux

2
推荐指数
1
解决办法
262
查看次数

标签 统计

python ×4

file-io ×2

c ×1

file ×1

io ×1

java ×1

linux ×1

pandas ×1

prepend ×1

python-2.7 ×1

rust ×1