问题描述
我有一个.txt文件,看起来像这样: txt file example
我想制作一个.csv文件,在第一行中将写入名称(键,值),并在其下写入每个名称的值。应该是这样的: csv file example
解决方法
尝试一下:
import csv
k = ['0.0','0.25','0.5','0.75','1.0','1.25']
v = [5,46,597,2882,5398,4]
with open("output.csv",'w') as file:
wr = csv.writer(file)
wr.writerow(["keys","values"])
for row in zip(k,v):
wr.writerow(row)
.csv
文件的输出:
keys,values
0.0,5
0.25,46
0.5,597
0.75,2882
1.0,5398
1.25,4
编辑:这是您显示的文件中示例数据的有效代码(即完全破解)。我正在按原样进行解析,因此如果数据更改,您可能必须编辑代码。
data.txt
的内容:
keys(['0.0','10.0','20.0','30.0'])
values([43430,156,3,1])
代码:
import ast
import csv
import re
p = re.compile(r"\((.*)\)")
with open("data.txt") as f:
data = f.readlines()
parsed = [
ast.literal_eval(
''.join(i for i in re.search(p,l.strip()).groups())
) for l in data
]
with open("output.csv","values"])
for row in zip(*parsed):
wr.writerow(row)
output.csv
文件的内容。
keys,43430
10.0,156
20.0,3
30.0,1
,
由于txt文件在导入后为两行,因此显示为字符串,所以这就是我要做的事情
var userProperties = PropertiesService.getUserProperties();
const TOKEN_OLD = 'api.token_old';
function onOpen(){
SpreadsheetApp.getUi()
.createMenu('CREDENZIALI')
.addItem('Imposta TOKEN','setToken')
.addToUi();
}
function setToken(){
var ui = SpreadsheetApp.getUi();
var scriptValue = ui.prompt('Per favore inserisci il token.',ui.ButtonSet.OK);
userProperties.setProperty(TOKEN_OLD,scriptValue.getResponseText());
}