从不同的本地文件夹读/写csv

2024-04-27 01:00:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在本地文件夹中打开一个文件,添加注释,然后用其他名称保存在另一个本地文件夹中。 下面的代码将注释添加到文件中,然后覆盖我的输入df的输出。在

import csv
import os.path
df = pd.DataFrame({"a": [1,2,3,4,5], "b": [6,7,8,9,10], "c": [11,12,13,14,15]}) # assume my csv (my_df.csv) looks like this dataframe
folder_input = '/my_folder/input/'
CSV_IN = os.path.join(folder_input, "my_df.csv")

folder_out = '/my_folder/output/'

with open('CSV_IN', 'r+') as f:
    content = f.read()
    f.seek(0, 0)
    f.write('my personal comment' + content)
    writer = csv.writer(f,delimiter='\t') # here I would like to specify the folder
                                          # where to save the file (foder_out) 
                                          # and also the file name

另外,我可以用扩展名.tab而不是用制表符分隔的csv保存输出文件吗? 谢谢


Tags: 文件csvthepathinimport文件夹df
3条回答

删除with语句中的write行。然后启动另一个with语句,在该语句中,以写模式(“w”)打开一个新文件(用新名称表示不会覆盖上一个文件)。然后在第二个with语句下,你把写的行。在

可以读取.csv,并将其另存为不同文件夹中的.tab,注释如下:

import csv
import os

folder_input = '/Users/ilayaraja'
folder_out = '/Users/ilayaraja/Desktop/'
file_input = "my_df.csv"
file_out = "my_df.tab"

with open(os.path.join(folder_input, file_input), "r") as inf, \
    open(os.path.join(folder_out, file_out), "w") as outf:
    outf.write("##Comment here##\n")
    reader = csv.reader(inf)
    writer = csv.writer(outf, delimiter="\t")
    for row in reader:
        writer.writerow(row)

您需要两个对象文件,一个用于输入,一个用于输出:

import csv
import os.path
df = pd.DataFrame({"a": [1,2,3,4,5], "b": [6,7,8,9,10], "c": [11,12,13,14,15]}) # assume my csv (my_df.csv) looks like this dataframe
folder_input = '/my_folder/input/'
CSV_IN = os.path.join(folder_input, "my_df.csv")

folder_out = '/my_folder/output/'
CSV_OUT = os.path.join(folder_out, "my_df.tab")

with open(CSV_IN, 'r+') as f_in, open(CSV_OUT, 'w') as f_out:
    content = f_in.read()
    f_out.write('my personal comment' + content)

如果不想保留原始文件,则需要在使用^{}完成复制后显式删除它:

^{pr2}$

相关问题 更多 >