Python导出为TXT格式或剪贴板

时间:2016-12-20 02:17:18

标签: python export-to-text

我有一个类似BM13302,EM13203等的csv文件 我必须从文件中读取这个内容,然后将其重新格式化为类似于BM13302' EM13203'等等

我遇到的问题是如何导出(将其写入剪贴板或文件,我可以剪切和粘贴。这是一个很小的项目,用于重新格式化一些SQL代码的一部分& #39;给了我一个不干净的格式,我不得不花一点时间格式化它。我想把python指向一个目录并通过文件中的列表并让它以我需要的方式导出所有内容

我有以下代码正常工作

import os
f = open(r"/User/person/Desktop/folder/file.csv")
csv_f = csv.reader(f)

for row in csv_f:
    print(row)

我得到了预期的结果

我想了解如何获取列表(?)并将其格式化为这样     ' BM1234',' BM2351',' 20394',....等 并将其复制到剪贴板

我认为有些事情像

with open('/Users/person/Desktop/csv/export.txt') as f:
    f.write("open=", + "', '")
f.close()

什么都没打印出来。无法找到我需要的例子。有人能帮帮我吗?

非常感谢!

2 个答案:

答案 0 :(得分:1)

您可以为csv模块引用一些内容。据我所知,python标准库中没有剪贴板,但有各种机制。在这里,我使用pyperclip,这对于纯文本副本是合理的。

import pyperclip
import csv
import io

def clip_csv(filename):
    outbuf = io.StringIO()
    with open('file.csv', newline='') as infile:
        incsv = csv.reader(infile, skipinitialspace=True)
        outcsv = csv.writer(outbuf, quotechar="'", quoting=csv.QUOTE_ALL)
        outcsv.writerows(incsv)
    pyperclip.copy(outbuf.getvalue())

clip_csv('file.csv')
# DEBUG: Verify by printing clipboard
print(pyperclip.paste())

答案 1 :(得分:0)

我不确定,但我认为您尝试将引号char '添加到csv

中的所有数据
import csv

with open('export.csv', 'w') as f:

     # use quote char `'` for all data
     writer = csv.writer(f, quotechar="'", quoting=csv.QUOTE_ALL)

     writer.writerow(["BM1234", "BM2351", "20394"])