我正在尝试使用以下代码在Python中读取文件:
with open(file) as fp:
data = fp.read()
上面的脚本效果很好。然而,我正在尝试将文件名包含在data
的输出中
我怎么能包括那个。
编辑:
添加具有预期结果的样本输出
电流输出:
col1,col2,col3
1,Prod_A,10
2,Prod_B,5
预期产量:
col1,col2,col3,filename
1,Prod_A,10,sales.csv
2,Prod_B,5,sales.csv
阅读您的csv文件并添加新列:
import csv
import os
m, n = 'sales.csv', 'sales_temp.csv'
with open(m, newline='') as f:
with open(n, 'w', newline='') as f_temp:
w = csv.writer(f_temp)
for r in csv.reader(f):
w.writerow(r + ['filename']) if r[0] == 'col1' else w.writerow(r + [f.name])
os.remove(m)
os.rename(n, m)
它可能很简单
data = {}
with open("test.txt") as fp:
data['name'] = fp.name
data['content'] = fp.read()
输出看起来像
{'name': 'test.txt',
'content': '124512451245124512451245124512451245124512451245\n'}
但这实际上取决于你想要的data
的结构。
编辑:根据反馈,上面的例子可以用列表重写
data = []
with open("test.txt") as fp:
data.append(fp.name)
data.append(fp.read())
输出看起来像:
['test.txt', '124512451245124512451245124512451245124512451245\n']